Як виконати one-hot encoding у 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
Категориальні чи кількісні змінні: у чому різниця?