One-hot-codering uitvoeren in r


One-hot-codering wordt gebruikt om categorische variabelen om te zetten in een indeling die kan worden gebruikt door machine learning-algoritmen .

Het basisidee van one-hot coding is het creëren van nieuwe variabelen die de waarden 0 en 1 aannemen om de oorspronkelijke categorische waarden weer te geven.

De volgende afbeelding laat bijvoorbeeld zien hoe we one-hot-encoderen om een categorische variabele met teamnamen te converteren naar nieuwe variabelen die alleen 0- en 1-waarden bevatten:

In het volgende stapsgewijze voorbeeld ziet u hoe u eenmalige codering uitvoert voor deze exacte gegevensset in R.

Stap 1: Creëer de gegevens

Laten we eerst het volgende dataframe in R maken:

 #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

Stap 2: Voer one-hot-codering uit

Laten we vervolgens de dummyVars() -functie van het caret- pakket gebruiken om de ‚team‘-variabele in het dataframe one-hot te coderen:

 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

Houd er rekening mee dat er drie nieuwe kolommen aan het gegevensframe zijn toegevoegd, aangezien de oorspronkelijke kolom ‚team‘ drie unieke waarden bevatte.

Houd er ook rekening mee dat de oorspronkelijke kolom ‚team‘ uit het dataframe is verwijderd omdat deze niet langer nodig is.

De one-hot-codering is voltooid en we kunnen deze dataset nu in elk machine learning-algoritme van onze keuze invoeren.

Opmerking : u kunt hier de volledige online documentatie voor de functie dummyVars() vinden.

Aanvullende bronnen

De volgende tutorials bieden aanvullende informatie over het gebruik van categorische variabelen:

Hoe categorische variabelen te creëren in R
Hoe categorische gegevens in R te plotten
Categorische of kwantitatieve variabelen: wat is het verschil?

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert