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?