인공지능/머신러닝

머신러닝 : 원 핫 인코딩 One Hot Encoding

왕현성 2022. 12. 1. 10:54
728x90

# 레이블 인코딩으로 변환한 후에, 학습을 시켰을 때 ,,,,
# 카테고리컬의 데이터의 갯수가 3개 이상일 때는,
# 레이블 인코딩으로 학습하면 학습이 잘 안된다.

# 이렇게 3개 이상의 카테고리컬 데이터는 One-Hot Encoding을

# 이용해서 처리하면, 학습이 잘 된다.

from sklearn.preprocessing import LabelEncoder, OneHotEncoder
from sklearn.compose import ColumnTransformer

ct=ColumnTransformer([('encoder', OneHotEncoder(),[2])],remainder='passthrough')
ct.fit_transform(X)



 

맨 아래 사진과 같이 결과를 얻을 수 있다. 

 

원핫인코딩이 수행된 컬럼은, 항상 행렬의 맨 왼쪽에 나온다. ( 컬럼 인덱스가 0이 아닌 다른 숫자여도 0번 인덱스 컬럼부터 시작된다 )