Xử lý biến phân loại

Feature Engineering cho Machine Learning bằng Python

Robert O'Callaghan

Director of Data Science, Ordergroove

Mã hoá biến phân loại

Feature Engineering cho Machine Learning bằng Python

Mã hoá biến phân loại

Feature Engineering cho Machine Learning bằng Python

Mã hoá biến phân loại

  • One-hot encoding
  • Dummy encoding
Feature Engineering cho Machine Learning bằng 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 cho Machine Learning bằng 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 cho Machine Learning bằng Python

One-hot vs. dummy

  • One-hot encoding: Đặc trưng dễ giải thích
  • Dummy encoding: Đủ thông tin, không trùng lặp
Feature Engineering cho Machine Learning bằng 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 cho Machine Learning bằng Python

Giới hạn số cột

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

Giới hạn số cột

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 cho Machine Learning bằng Python

Giờ bạn đã xử lý biến phân loại

Feature Engineering cho Machine Learning bằng Python

Preparing Video For Download...