더북(TheBook)

원-핫 인코딩된 데이터셋을 사용할 때 다중 공선성(multicollinearity) 문제를 유념하세요. 어떤 알고리즘에는 이슈가 될 수 있습니다(예를 들어 역행렬을 구해야 하는 경우). 특성 간의 상관관계가 높으면 역행렬을 계산하기 어려워 수치적으로 불안정해집니다. 변수 간의 상관관계를 감소하려면 원-핫 인코딩된 배열에서 특성 열 하나를 삭제합니다. 이렇게 특성을 삭제해도 잃는 정보는 없습니다. 예를 들어 color_blue 열을 삭제해도 샘플이 color_green = 0이고 color_red = 0일 때 blue임을 알 수 있습니다.10

get_dummies를 사용할 때 drop_first 매개변수를 True로 지정하여 첫 번째 열을 삭제할 수 있습니다. 다음 예를 참고하세요.

>>> pd.get_dummies(df[['price', 'color', 'size']],
...                drop_first=True)
   price  size  color_green  color_red
0   10.1     1            1          0
1   13.5     2            0          1
2   15.3     3            0          0

OneHotEncoder에서 중복된 열을 삭제하려면 다음과 같이 drop='first'categories='auto'로 지정해야 합니다.11

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