더북(TheBook)

원핫 인코딩하기

상당수의 머신러닝 알고리즘은 입력 특성들이 모두 연속형이어야 합니다. 특성이 카테고리형이라면 이를 연속형으로 바꿀 수 있어야 합니다. 원핫 인코딩은 카테고리형 변수를 연속형 변수로 변환할 수 있는 아주 효과적인 방법입니다. 이 문제에서 카테고리형 변수는 Gender 하나뿐입니다. 이를 원핫 인코딩을 이용해 연속형 변수로 변환해 봅시다.

[in :]

enc = sklearn.preprocessing.OneHotEncoder()
enc.fit(dataset.iloc[:, [0]])
onehotlabels = enc.transform(dataset.iloc[:, [0]]).toarray()
genders = pd.DataFrame({'Female': onehotlabels[:, 0], 'Male': onehotlabels[:, 1]})
result = pd.concat([genders,dataset.iloc[:, 1:]], axis=1, sort=False) 
result.head(5)

변환이 끝났습니다. 데이터셋을 다시 출력해 봅시다.

[out:]

 

카테고리형 변수를 연속형 변수로 변환하는 과정에서 원핫 인코딩이 Gender 열을 MaleFemale 두 개의 열로 분리했습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.