원핫 인코딩하기
상당수의 머신러닝 알고리즘은 입력 특성들이 모두 연속형이어야 합니다. 특성이 카테고리형이라면 이를 연속형으로 바꿀 수 있어야 합니다. 원핫 인코딩은 카테고리형 변수를 연속형 변수로 변환할 수 있는 아주 효과적인 방법입니다. 이 문제에서 카테고리형 변수는 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 열을 Male과 Female 두 개의 열로 분리했습니다.