Hantera kategoriska variabler

Särdragshantering för maskininlärning i Python

Robert O'Callaghan

Director of Data Science, Ordergroove

Koda kategoriska särdrag

Särdragshantering för maskininlärning i Python

Koda kategoriska särdrag

Särdragshantering för maskininlärning i Python

Koda kategoriska särdrag

  • One-hot-kodning
  • Dummy-kodning
Särdragshantering för maskininlärning i Python

One-hot-kodning

pd.get_dummies(df, columns=['Country'], 
               prefix='C')
    C_France    C_India    C_UK    C_USA
0          0          1       0        0
1          0          0       0        1
2          0          0       1        0
3          0          0       1        0
4          1          0       0        0
Särdragshantering för maskininlärning i Python

Dummy-kodning

pd.get_dummies(df, columns=['Country'],
               drop_first=True, prefix='C')
     C_India    C_UK    C_USA
0          1       0        0
1          0       0        1
2          0       1        0
3          0       1        0
4          0       0        0
Särdragshantering för maskininlärning i Python

One-hot vs. dummies

  • One-hot-kodning: Förklarbara särdrag
  • Dummy-kodning: Nödvändig information utan duplicering
Särdragshantering för maskininlärning i Python
Index Kön
0 Man
1 Kvinna
2 Man
Index Man Kvinna
0 1 0
1 0 1
2 1 0
Index Man
0 1
1 0
2 1
Särdragshantering för maskininlärning i Python

Begränsa antalet kolumner

counts = df['Country'].value_counts()
print(counts)
'USA'      8
'UK'       6
'India'    2
'France'   1
Name: Country, dtype: object
Särdragshantering för maskininlärning i Python

Begränsa antalet kolumner

mask = df['Country'].isin(counts[counts < 5].index)

df['Country'][mask] = 'Other'
print(pd.value_counts(colors))
'USA'      8
'UK'       6
'Other'    3
Name: Country, dtype: object
Särdragshantering för maskininlärning i Python

Nu kör vi en övning!

Särdragshantering för maskininlärning i Python

Preparing Video For Download...