Как выполнить горячее кодирование в R

Как выполнить горячее кодирование в R

Горячее кодирование используется для преобразования категориальных переменных в формат, который может использоваться алгоритмами машинного обучения .

Основная идея горячего кодирования заключается в создании новых переменных, которые принимают значения 0 и 1 для представления исходных категориальных значений.

Например, на следующем изображении показано, как мы можем выполнить однократное кодирование для преобразования категориальной переменной, содержащей названия команд, в новые переменные, содержащие только значения 0 и 1:

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

Шаг 1: Создайте данные

Во-первых, давайте создадим следующий фрейм данных в R:

#create data frame
df <- data.frame(team=c('A', 'A', 'B', 'B', 'B', 'B', 'C', 'C'),
 points=c(25, 12, 15, 14, 19, 23, 25, 29))

#view data frame
df

 team points
1 A 25
2 A 12
3 B 15
4 B 14
5 B 19
6 B 23
7 C 25
8 C 29

Шаг 2. Выполните горячее кодирование

Затем давайте воспользуемся функцией dummyVars() из пакета Caret , чтобы выполнить однократное кодирование переменной team во фрейме данных:

library ( caret)

#define one-hot encoding function
dummy <- dummyVars(" ~ .", data=df)

#perform one-hot encoding on data frame
final_df <- data.frame(predict(dummy, newdata=df))

#view final data frame
final_df

 teamA teamB teamC points
1 1 0 0 25
2 1 0 0 12
3 0 1 0 15
4 0 1 0 14
5 0 1 0 19
6 0 1 0 23
7 0 0 1 25
8 0 0 1 29 

Обратите внимание, что во фрейм данных были добавлены три новых столбца, поскольку исходный столбец «команда» содержал три уникальных значения.

Также обратите внимание, что исходный столбец «команда» был удален из фрейма данных, поскольку он больше не нужен.

Горячее кодирование завершено, и теперь мы можем передать этот набор данных любому алгоритму машинного обучения, который нам нужен.

Примечание.Полную онлайн-документацию по функции dummyVars() можно найти здесь .

Дополнительные ресурсы

Следующие учебные пособия предлагают дополнительную информацию о работе с категориальными переменными:

Как создать категориальные переменные в R
Как отображать категориальные данные в R
Категориальные и количественные переменные: в чем разница?

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.