обратное разностное кодирование - PullRequest
1 голос
/ 26 мая 2019

В этом руководстве обсуждалась информация о кодировке разностей BackWard:

Кодирование с обратной разницей

Этот метод подпадает под систему контрастного кодирования для категориальных функций.Функция K категорий или уровней обычно вводится в регрессию как последовательность фиктивных переменных K-1.При обратном разностном кодировании среднее значение зависимой переменной для уровня сравнивается со средним значением зависимой переменной для предыдущего уровня.Этот тип кодирования может быть полезен для номинальной или порядковой переменной.

Если вы хотите изучить другие методы кодирования контраста, вы можете проверить этот ресурс.

Структура кода в значительной степенитак же, как и любой метод в библиотеке category_encoders, только в этот раз вы вызовете BackwardDifferenceEncoder из нее

, как было сказано, он преобразует k категорий в k-1 двоичные категории.

Iиспользовал этот метод в своей базе данных.Для «носителей» у нас было 11 категорий, и то, что мы получили после кодирования, также составляет 11 категорий.Разве это не должно быть 10 категорий или 10 столбцов двоичных значений?

df_flights = pd.read_csv('https://raw.githubusercontent.com/ismayc/pnwflights14/master/data/flights.csv')

df_flights.head()

df_flights['carrier'].unique()

, поэтому у нас есть 11 уникальных категорий.

!pip install category_encoders
import category_encoders as ce
cat_df_flights = df_flights.select_dtypes(include=['object']).copy()
encoder = ce.BackwardDifferenceEncoder(cols=['carrier'])
df_bd = encoder.fit_transform(cat_df_flights)

df_bd.head()

В результате получаются также 11 столбцов двоичных данных, но, исходя из того, что сказано в этом руководстве, должно быть 10 ...

1 Ответ

1 голос
/ 26 мая 2019

Я не уверен, но, вероятно, это потому, что вы можете сделать вывод об оставшемся классе. Например, представьте, что у вас есть два цвета {red, blue}, и вы хотите закодировать эту переменную. Один из вариантов - создать два столбца, один для красного и другой для синего, но вы также можете создать только n - 1 столбцов, например, «красный»; если значение равно 1, то образец красного цвета, в противном случае синий.

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