So verwenden sie pandas get dummies – pd.get_dummies


In der Statistik enthalten die Datensätze, mit denen wir arbeiten, häufig kategoriale Variablen .

Dies sind Variablen, die Namen oder Bezeichnungen annehmen. Beispiele beinhalten:

  • Familienstand („verheiratet“, „ledig“, „geschieden“)
  • Raucherstatus („Raucher“, „Nichtraucher“)
  • Augenfarbe („blau“, „grün“, „hasel“)
  • Bildungsniveau (z. B. „Abitur“, „Bachelor“, „Master“)

Bei der Optimierung von Algorithmen für maschinelles Lernen (wie lineare Regression , logistische Regression , Random Forests usw.) konvertieren wir häufig kategoriale Variablen in Dummy-Variablen , bei denen es sich um numerische Variablen handelt, die zur kategorialen Darstellung von Daten verwendet werden.

Angenommen, wir haben einen Datensatz, der die kategoriale Variable Geschlecht enthält. Um diese Variable als Prädiktor in einem Regressionsmodell zu verwenden, müsste sie zunächst in eine Dummy-Variable umgewandelt werden.

Um diese Dummy-Variable zu erstellen, können wir einen der Werte („Male“) zur Darstellung von 0 und den anderen Wert („Female“) zur Darstellung von 1 auswählen:

So erstellen Sie Dummy-Variablen in Pandas

Um Dummies für eine Variable in einem Pandas-DataFrame zu erstellen, können wir die Funktion pandas.get_dummies() verwenden, die die folgende grundlegende Syntax verwendet:

pandas.get_dummies(data, prefix=None, columns=None, drop_first=False)

Gold:

  • data : Der Name des Pandas DataFrame
  • Präfix : eine Zeichenfolge, die am Anfang der neuen Dummy-Variablenspalte hinzugefügt wird
  • columns : Der Name der Spalte(n), die in eine Dummy-Variable umgewandelt werden soll(en).
  • drop_first : ob die erste Dummy-Variablenspalte gelöscht werden soll oder nicht

Die folgenden Beispiele zeigen, wie Sie diese Funktion in der Praxis nutzen können.

Beispiel 1: Erstellen Sie eine einzelne Dummy-Variable

Angenommen, wir haben den folgenden Pandas-DataFrame:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' income ': [45, 48, 54, 57, 65, 69, 78],
                   ' age ': [23, 25, 24, 29, 38, 36, 40],
                   ' gender ': ['M', 'F', 'M', 'F', 'F', 'F', 'M']})

#view DataFrame
df

        income age gender
0 45 23 M
1 48 25 F
2 54 24 M
3 57 29 F
4 65 38 F
5 69 36 F
6 78 40 M

Mit der Funktion pd.get_dummies() können wir das Geschlecht in eine Dummy-Variable umwandeln:

 #convert gender to dummy variable
p.d. get_dummies (df, columns=[' gender '], drop_first= True )

	income age gender_M
0 45 23 1
1 48 25 0
2 54 24 1
3 57 29 0
4 65 38 0
5 69 36 0
6 78 40 1

Die Spalte „Geschlecht“ ist jetzt eine Dummy-Variable, wobei Folgendes gilt:

  • Ein Wert von 0 steht für „weiblich“.
  • Ein Wert von 1 steht für „männlich“.

Beispiel 2: Erstellen Sie mehrere Dummy-Variablen

Angenommen, wir haben den folgenden Pandas-DataFrame:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' income ': [45, 48, 54, 57, 65, 69, 78],
                   ' age ': [23, 25, 24, 29, 38, 36, 40],
                   ' gender ': ['M', 'F', 'M', 'F', 'F', 'F', 'M'],
                   ' college ': ['Y', 'N', 'N', 'N', 'Y', 'Y', 'Y']})

#view DataFrame
df

	income age gender college
0 45 23 M Y
1 48 25 F N
2 54 24 M N
3 57 29 F N
4 65 38 F Y
5 69 36 F Y
6 78 40 M Y

Wir können die Funktion pd.get_dummies() verwenden, um Geschlecht und Hochschule in Dummy-Variablen umzuwandeln:

 #convert gender to dummy variable
p.d. get_dummies (df, columns=[' gender ', ' college '], drop_first= True )


        income age gender_M college_Y
0 45 23 1 1
1 48 25 0 0
2 54 24 1 0
3 57 29 0 0
4 65 38 0 1
5 69 36 0 1
6 78 40 1 1

Die Spalte „Geschlecht“ ist jetzt eine Dummy-Variable, wobei Folgendes gilt:

  • Ein Wert von 0 steht für „weiblich“.
  • Ein Wert von 1 steht für „männlich“.

Und die Spalte „College“ ist jetzt eine Dummy-Variable, wobei:

  • Ein Wert von 0 steht für „Neine“ Universität
  • Ein Wert von 1 bedeutet „Ja“ zum College

Zusätzliche Ressourcen

Verwendung von Dummy-Variablen in der Regressionsanalyse
Was ist die Dummy-Variablenfalle?

Einen Kommentar hinzufügen

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