ML.net.В чем разница между методами mlContext.Transforms.Text.FeaturizeText и mlContext.Transforms.Categorical.OneHotEncoding? - PullRequest
0 голосов
/ 24 апреля 2019

Я столкнулся с проблемой классификации, где метод FeaturizeText использовался для преобразования некоторого текстового значения в числовой вектор. Для той же цели в задаче регрессии использовался метод OneHotEncoding. Так в чем же разница ??? Заранее спасибо. Я не смог найти ничего полезного с документацией Microsoft.

1 Ответ

0 голосов
/ 24 апреля 2019

OneHotVectorizer является устаревшим API. Может быть, вы OneHotEncoding. На основании ссылки на API ML.NET:

FeaturizeText - Преобразует текст в массив с плавающей запятой, который представляет количество n-грамм и char-грамм. OneHotEncoding - Преобразует категориальное значение в массив индикаторов путем создания словаря категорий на основе данных и использования идентификатора в словаре в качестве индекса в массиве.

В основном, если у вас есть категориальные данные (различные конечные значения), такие как дни недели, марки автомобилей, все, что выражает категории, вы захотите использовать OneHotEncoding и просто конвертировать их в числа. Алгоритмы машинного обучения работают с числами, поэтому текст / изображения и т. Д. Необходимо преобразовать в числа.

Если у вас есть текст в свободной форме, и вы пытаетесь что-то в нем понять: например, каково общее настроение, или какова тема этого текста, и т. Д., Вы хотите использовать FeaturizeText

Примеры использования:

FeaturizeText OneHotEncoding

...