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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *