Gestire le variabili categoriche

Feature Engineering per il Machine Learning in Python

Robert O'Callaghan

Director of Data Science, Ordergroove

Codificare le feature categoriche

Feature Engineering per il Machine Learning in Python

Codificare le feature categoriche

Feature Engineering per il Machine Learning in Python

Codificare le feature categoriche

  • One-hot encoding
  • Dummy encoding
Feature Engineering per il Machine Learning in Python

One-hot encoding

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
Feature Engineering per il Machine Learning in Python

Dummy encoding

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
Feature Engineering per il Machine Learning in Python

One-hot vs. dummies

  • One-hot encoding: feature interpretabili
  • Dummy encoding: info essenziali senza duplicati
Feature Engineering per il Machine Learning in Python
Index Sex
0 Male
1 Female
2 Male
Index Male Female
0 1 0
1 0 1
2 1 0
Index Male
0 1
1 0
2 1
Feature Engineering per il Machine Learning in Python

Limitare le colonne

counts = df['Country'].value_counts()
print(counts)
'USA'      8
'UK'       6
'India'    2
'France'   1
Name: Country, dtype: object
Feature Engineering per il Machine Learning in Python

Limitare le colonne

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
Feature Engineering per il Machine Learning in Python

Ora tocca a te con le variabili categoriche

Feature Engineering per il Machine Learning in Python

Preparing Video For Download...