Метка Кодирование n-мерных категориальных значений - PullRequest
0 голосов
/ 06 февраля 2019

Я сталкивался с этой статьей Кодировка метки для нескольких столбцов в scikit-learn и один из комментариев https://stackoverflow.com/a/30267328/10058906 объяснял, как каждое значение для данного столбца кодируется в диапазоне от 0 до(n-1) где n - длина столбца.Возник вопрос о том, когда я кодирую red: 2, orange: 1 и green: 0 означает ли это, что зеленый цвет ближе к оранжевому, чем красный, поскольку 0 ближе к 1, чем к 2;что на самом деле не соответствует действительности?Я раньше думал, что, возможно, поскольку green встречается максимальное количество раз, он получает значение 0.Но это не относится к столбцу fruit, где apple gets value 0, хотя orange occurs the maximum number of times.

1 Ответ

0 голосов
/ 12 февраля 2019

Я хотел бы подвести итог Label Encoder и One Hot Encoding:

Это правда, что Label Encoder просто дает интегральное представление для значения ячейки.Это подразумевает, что для вышеуказанного набора данных, если мы помечаем, кодируем наши категориальные значения - это будет imply that green is closer to orange than red since 0 is closer to 1 than 2 - что неверно.

С другой стороны, One Hot Encoding создает отдельный столбец для каждого категориального значения, и задается значение 0 или 1, представляющее отсутствие или присутствие этой функции соответственно.Кроме того, встроенная функция pd.get_dummies(dataframe) производит тот же вывод.

Следовательно, если данный набор данных содержит категориальные значения, которые имеют порядковый характер, целесообразно использовать Label Encoding;но если приведенные данные являются номинальными, следует идти вперед с One Hot Encoding.

https://discuss.analyticsvidhya.com/t/dummy-variables-is-necessary-to-standardize-them/66867/2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...