Come eseguire la codifica one-hot in r


La codifica one-hot viene utilizzata per convertire le variabili categoriali in un formato che può essere utilizzato dagli algoritmi di machine learning .

L’idea di base della codifica one-hot è quella di creare nuove variabili che assumano i valori 0 e 1 per rappresentare i valori categorici originali.

Ad esempio, l’immagine seguente mostra come effettueremo la codifica one-hot per convertire una variabile categoriale contenente i nomi dei team in nuove variabili contenenti solo valori 0 e 1:

Il seguente esempio passo passo mostra come eseguire la codifica una tantum per questo set di dati esatto in R.

Passaggio 1: creare i dati

Innanzitutto, creiamo il seguente frame di dati in 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

Passaggio 2: eseguire la codifica one-hot

Successivamente, utilizziamo la funzione dummyVars() del pacchetto caret per codificare a caldo la variabile ‘team’ nel frame di dati:

 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

Si noti che tre nuove colonne sono state aggiunte al frame di dati poiché la colonna originale “team” conteneva tre valori univoci.

Si noti inoltre che la colonna originale “team” è stata rimossa dal data frame poiché non è più necessaria.

La codifica one-hot è completa e ora possiamo inserire questo set di dati in qualsiasi algoritmo di machine learning di nostra scelta.

Nota : puoi trovare la documentazione online completa per la funzione dummyVars() qui .

Risorse addizionali

Le seguenti esercitazioni forniscono informazioni aggiuntive sull’utilizzo delle variabili categoriali:

Come creare variabili categoriali in R
Come tracciare i dati categorici in R
Variabili categoriali o quantitative: qual è la differenza?

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *