⌨️ 데이터 인코딩
- 머신러닝 알고리즘에서 컴퓨터가 데이터를 이해하고 사용할 수 있도록 데이터를 변환
import pandas as pd
data = {'color': ['Red', 'Blue', 'Green']}
df = pd.DataFrame(data)
df.head()
◽ One-Hot Encoding
- Nominal Encoding (순서 정보 X)
- feature의 항목이 많은 경우 차원의 저주에 빠질 수 있음
from sklearn.preprocessing import OneHotEncoder
encoder = OneHotEncoder(handle_unknown='ignore')
df_encoded = pd.DataFrame(
encoder.fit_transform(df).toarray(),
columns = encoder.get_feature_names_out()
)
df_encoded
| color_Blue | color_Green | color_Red |
---|
0 | 0.0 | 0.0 | 1.0 |
1 | 1.0 | 0.0 | 0.0 |
2 | 0.0 | 1.0 | 0.0 |
◽ Label Encoding
- Ordinal Encoding (순서 정보 O)
from sklearn.preprocessing import LabelEncoder
encoder = LabelEncoder()
df['color_encoded'] = encoder.fit_transform(df['color'])
df
| color | color_encoded |
---|
0 | Red | 2 |
1 | Blue | 0 |
2 | Green | 1 |