
104
1
부
머신러닝
이 표현 방식의 문제는 머신러닝 알고리즘이 가까이 있는 두 값이 떨어져 있는 두 값보다 더
비슷하다고 생각한다는 점입니다. 일부 경우에는 괜찮습니다 (예를 들어
'
bad
'
,
'
average
'
,
'
good
'
,
'
excellent
'
와 같은 순서가 있는 카테고리의 경우 ). 하지만 이는
ocean
_
proximity
열에 해당되지 않습니다 (예를 들어 카테고리
0
과
1
보다 카테고리
0
과
4
가 확실히 더 비슷합
니다 ). 이 문제는 일반적으로 카테고리별 이진 특성을 만들어 해결합니다. 카테고리가 ‘
<
1H
OCEAN
’일 때 한 특성이
1
이고 (그 외 특성은
0
), 카테고리가 ‘
INLAND
’일 때 다른 한 특성
이
1
이 되는 (역시 그 외에는
0
) 식입니다. 한 특성만
1
이고 (핫) 나머지는
0
이므로 이를
원
-
핫
인코딩
one
-
hot
encoding
이라고 부릅니다. 이따금 새로운 특성을
더미
dummy
특성이라고도 부릅니다.
사이킷런은 범주의 값을 원-핫 벡터로 바꾸기 위한
OneHotEncoder
클래스를 제공합니다.
43
>>> from sklearn.preprocessing import OneHotEncoder
>>> cat_encoder = OneHotEncoder()
>>> housing_cat_1hot = cat_encoder.fit_transform ...