Jak wykonać kodowanie one-hot w r


Kodowanie typu one-hot służy do konwertowania zmiennych kategorycznych do formatu, który może być używany przez algorytmy uczenia maszynowego .

Podstawową ideą kodowania one-hot jest utworzenie nowych zmiennych, które przyjmują wartości 0 i 1 w celu reprezentowania oryginalnych wartości kategorycznych.

Na przykład poniższy obraz pokazuje, w jaki sposób kodujemy jednorazowo, aby przekonwertować zmienną kategorialną zawierającą nazwy zespołów na nowe zmienne zawierające tylko wartości 0 i 1:

Poniższy przykład krok po kroku pokazuje, jak wykonać jednorazowe kodowanie dla tego dokładnego zestawu danych w R.

Krok 1: Utwórz dane

Najpierw utwórzmy następującą ramkę danych w 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

Krok 2: Wykonaj kodowanie na gorąco

Następnie użyjmy funkcji dummyVars() pakietu caret , aby jednorazowo zakodować zmienną „team” w ramce danych:

 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

Należy zauważyć, że do ramki danych dodano trzy nowe kolumny, ponieważ pierwotna kolumna „zespół” zawierała trzy unikalne wartości.

Należy również pamiętać, że oryginalna kolumna „zespół” została usunięta z ramki danych, ponieważ nie jest już potrzebna.

Kodowanie typu „one-hot” zostało ukończone i możemy teraz wprowadzić ten zbiór danych do dowolnego wybranego algorytmu uczenia maszynowego.

Uwaga : Pełną dokumentację online funkcji dummyVars() można znaleźć tutaj .

Dodatkowe zasoby

Poniższe samouczki zawierają dodatkowe informacje na temat używania zmiennych kategorycznych:

Jak utworzyć zmienne kategoryczne w R
Jak wykreślić dane kategoryczne w R
Zmienne kategoryczne lub ilościowe: jaka jest różnica?

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *