원-핫 인코딩된 데이터셋을 사용할 때 다중 공선성(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