Как выполнить горячее кодирование в 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 to 25 2 to 12 3 B 15 4 B 14 5 B 19 6 B 23 7 C 25 8 C 29
Шаг 2. Выполните горячее кодирование
Далее, давайте воспользуемся функцией dummyVars() пакета курсора для быстрого кодирования переменной «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
Категориальные или количественные переменные: в чем разница?