Software Development/Data Science

명목형 변수의 One Hot Encoding + 합치기

huiyu 2023. 4. 16. 06:14

1. get_dummies()

df_dum = pd.get_dummies(df_obj)
df_dum

2. One-Hot Encoder

from sklearn.preprocessing import OneHotEncoder

ohe = OneHotEncoder(handle_unknown='ignore')

#명목형만 빼서,
X_train_obj = ohe.fit_transform(X_train[col_cate])
X_test_obj = ohe.transform(X_test[col_cate])

 

3. One-Hot Encoding 적용 후 합치기

(1) concat 사용

X = pd.concat([df_screen_rem, df_dum], axis=1)

(2) sparse 사용

from scipy import sparse
#h기준으로 합치기, train + test 둘다.
X_train = sparse.hstack([X_train_cate, X_train_num]) 
X_test = sparse.hstack([X_test_cate, X_test_num])

 

일단 쉬운 방법 하나만 익혀두기, get_dummies() + concat() 동작.

728x90