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?