Machine Learning Β· Chapter 22 of 40
Encoding Categorical Data
Models need numbers. Convert categories with ONE-HOT ENCODING (each category becomes a 0/1 column) or ORDINAL ENCODING (assign integers).
Use ordinal only when categories have a natural order.
Example 1 (python)
import pandas as pd
df = pd.DataFrame({'color': ['red','green','red']})
print(pd.get_dummies(df))Output
color_green color_red
0 0 1
1 1 0
2 0 1One-hot encoding.
Example 2 (python)
from sklearn.preprocessing import OrdinalEncoder
OrdinalEncoder().fit_transform(df)Only when there's real order.
Key points
- One-hot: N columns of 0/1.
- Ordinal: assign integers.
- Ordinal implies order.
- Use one-hot for nominal categories.
π‘ Note: For very high-cardinality columns (like city with 10,000 values), consider TARGET ENCODING or embeddings.
