Jak korzystać z pand get dummies – pd.get_dummies


Często w statystykach zbiory danych, z którymi pracujemy, obejmują zmienne kategoryczne .

Są to zmienne, które przyjmują nazwy lub etykiety. Przykłady obejmują:

  • Stan cywilny („żonaty”, „panny”, „rozwiedziony”)
  • Status palenia („palacz”, „niepalący”)
  • Kolor oczu („niebieski”, „zielony”, „piwne”)
  • Poziom wykształcenia (np. „liceum”, „licencjat”, „magister”)

Dostrajając algorytmy uczenia maszynowego (takie jak regresja liniowa , regresja logistyczna , lasy losowe itp.) często konwertujemy zmienne kategoryczne na zmienne fikcyjne , które są zmiennymi numerycznymi używanymi do reprezentowania danych kategorycznych.

Załóżmy na przykład, że mamy zbiór danych zawierający zmienną kategorialną Płeć . Aby użyć tej zmiennej jako predyktora w modelu regresji, konieczne byłoby najpierw przekształcenie jej w zmienną fikcyjną.

Aby utworzyć tę fikcyjną zmienną, możemy wybrać jedną z wartości („Mężczyzna”), która będzie reprezentować 0, a drugą wartość („Kobieta”), która będzie reprezentować 1:

Jak utworzyć fikcyjne zmienne w Pandach

Aby utworzyć manekiny dla zmiennej w ramce DataFrame pandy, możemy użyć funkcji pandas.get_dummies() , która wykorzystuje następującą podstawową składnię:

pandas.get_dummies(data, prefix=Brak, kolumny=Brak, drop_first=False)

Złoto:

  • data : Nazwa ramki DataFrame pandy
  • prefix : ciąg znaków do dodania na początku nowej kolumny zmiennej fikcyjnej
  • kolumny : nazwa kolumn do przekształcenia w zmienną fikcyjną
  • drop_first : czy usunąć pierwszą fikcyjną kolumnę zmiennej

Poniższe przykłady pokazują, jak w praktyce wykorzystać tę funkcję.

Przykład 1: Utwórz pojedynczą zmienną fikcyjną

Załóżmy, że mamy następującą ramkę danych pandy:

 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

Możemy użyć funkcji pd.get_dummies() , aby zamienić płeć w zmienną fikcyjną:

 #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

Kolumna płeć jest teraz zmienną fikcyjną, gdzie:

  • Wartość 0 oznacza „Kobieta”
  • Wartość 1 oznacza „mężczyznę”

Przykład 2: Utwórz wiele zmiennych fikcyjnych

Załóżmy, że mamy następującą ramkę danych pandy:

 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

Możemy użyć funkcji pd.get_dummies() do przekształcenia płci i uczelni w zmienne fikcyjne:

 #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

Kolumna płeć jest teraz zmienną fikcyjną, gdzie:

  • Wartość 0 oznacza „Kobieta”
  • Wartość 1 oznacza „mężczyznę”

Kolumna uczelni jest teraz zmienną fikcyjną, gdzie:

  • Wartość 0 oznacza uniwersytet „Nie”.
  • Wartość 1 oznacza „Tak” dla uczelni

Dodatkowe zasoby

Jak używać zmiennych fikcyjnych w analizie regresji
Co to jest fikcyjna pułapka zmienna?

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *