one-hot 인코딩과 더미 인코딩의 문제


11

k 레벨의 범주 변수가 더미 인코딩에서 k-1 변수로 인코딩되어야한다는 사실을 알고 있습니다 (다중 값 범주 변수의 경우와 유사). 다른 회귀 방법, 주로 선형 회귀, 페널티 선형 회귀 (Lasso, Ridge, ElasticNet), 트리 기반 (임의 포리스트) , 그래디언트 부스팅 머신).

선형 회귀에서 다중 공선 성 문제가 발생한다는 것을 알고 있습니다 (실제로 아무런 문제없이 OHE를 사용하여 선형 회귀를 적용했지만).

그러나 더미 인코딩을 모두 사용해야하며 one-hot 인코딩을 사용하면 결과가 어떻게 잘못됩니까?

저는 (카디널리티가 높은) 범주 형 변수가 여러 개인 회귀 모델의 예측에 중점을두기 때문에 신뢰 구간에 관심이 없습니다.


10
나는 둘을 구별하는 것이 잘못되었다고 주장한다. 더미 변수와 one-hot 변수는 완전한 동의어입니다. 첫 번째 용어는 나이가 들고 통계에서 나오고 두 번째 용어는 더 어리 며 기계 학습에서 나옵니다. 세 번째로 더 공식적인 동의어는 지표 유형 대비 변수입니다. 이러한 기본 변수 세트에 모든 k 또는 k-1 비 중복 변수를 사용할지 여부는 해당 용어와 관련이 없으며 분석 유형과 구체적인 알고리즘 또는 프로그램에 따라 다릅니다.
ttnphns

2
예를 들어, 회귀 소프트웨어는 일반적으로 특이성으로 인해 모든 k를 입력 할 수 없지만, 유사 일반 선형 모델링 소프트웨어는 유 사역 접근법을 사용하므로이를 허용 할 수 있습니다.
ttnphns

1
나는 @ttnphns와 함께 있는데 둘 다 끔찍한 이름입니다. 나는 전체 인코딩일대일 인코딩을 선호합니다 .
Matthew Drury

2
용어에 대한 사과, 이것은 실무자 (및 유사하게 지향 된 책)에서 사용하는 표준 용어입니다. 공선 성 문제는 선형 (비정형 모델)에만 나타 납니까? 모든 소프트웨어가 모든 k를 입력하는 것을 막지는 않습니다 (예 : Python의 scikit-learn, 내가 틀렸다면 수정)
user90772

@MatthewDrury 내 애완 동물 친구 중 하나는 "One-hot encoding"및 "A / B testing"과 같은 통계 분석 분야에 들어간 중복 된 용어 / 구문입니다. 혼란을 피하기 위해 모든 사람은 오래된 "더미 코딩"과 "가설 테스트"를 고수해야합니다.
RobertF

답변:


7

회귀 분석에서 변수 가있는 수준 을 갖는 범주 형 변수를 나타내는 문제 는 모형에 항이있는 경우 항이 선형 적으로 종속되므로 모형을 식별 할 수 없다는 것입니다. 예를 들어, 모형이 및 이면 모수 벡터의 모든 선택 은 구별 할 수 없습니다 . 따라서 소프트웨어가 이러한 매개 변수에 대한 견적을 기꺼이 제공 할 수도 있지만 고유하게 결정되지 않았으므로 그다지 유용하지 않을 것입니다.kkμ=a0+a1X1+a2X2X2=1X1(β0,β1,β2)(β0+β2,β1β2,0)

벌점은 모델을 식별 할 수 있지만 중복 코딩은 위와 같은 경우 이상한 방식으로 매개 변수 값에 여전히 영향을 미칩니다.

의사 결정 트리 (또는 트리 앙상블)에 대한 중복 코딩의 효과는 다른 중복 요소에 비해 해당 기능을 과도하게 가중치를 부여 할 수 있습니다. 이는 여분의 중복 변수로 표시되므로 다른 방법보다 더 자주 선택되기 때문입니다. 분할.


1
나무 나 나무 앙상블에 절편을 포함시킬 이유가 없다고 생각합니다. 나는 이것이 선형 유형 모델에 특별한 것이라고 생각합니다. 따라서 트리 기반 모델의 경우 올바른 아이디어가 인터셉트가 아닌 전체 인코딩이라고 생각합니다.
Matthew Drury

@MatthewDrury 나는 당신이 가로 채기에 대해 옳다고 생각하지만, 나무의 경우에도 중복 코딩이 제한적으로 사용됩니다. 예를 들어, 기능이 이진 인 경우 첫 번째 클래스에서 분할과 두 번째 클래스에서 분할의 차이점은 무엇입니까? 내가 말할 수있는 한 아무것도 없습니다.
Kodiologist

사실이지만, 전체 대칭을 유지하는 것이 모든 것을 분명히 공정하고 해석 가능하게 유지하는 가장 간단한 방법이라고 생각합니다.
Matthew Drury

1

Kodiologist는 큰 대답을했습니다 (+1). 원-핫 인코딩 대 더미 인코딩 인코딩 방법은 디자인 매트릭스가 서로 다른 기준으로 동일한 공간에 있다는 점에서 동일합니다. (원핫 인코딩에는 더 많은 열이 있지만)

따라서 해석 가능성 대신 정확성에 중점을 둔 경우. 두 가지 인코딩 방법은 차이가 없습니다.


1
놀랍게도, one-hot 버전은 (선형 적으로 의존하기 때문에) 기본이 아닙니다. 그것은 단지 같은 공간에 걸쳐 있습니다. 그러나 인코딩이 정확도에 차이가 없습니까? 특히 페널티 회귀 분석의 경우 최종 선택된 모델이 다른 예측을 할 것이라고 생각합니다.
Kodiologist

@Kodiologist 기초 문제를 해결해 주셔서 감사합니다.
Haitao Du

@Kodiologist 왜 정규화 된 선형 방법에서 정확도가 다른가?
Haitao Du

4
정규 회귀 분석에서는 항상 전체 인코딩을 사용해야합니다 (즉, 한 번만 사용하지 말고 사용한 이름을 그대로 유지할 수 없으며 직접 사용하지 않는 것이 좋습니다). 이것은 가로 채기가 불이익을받지 않기 때문에 가로 채기의 일부가 아닌 수준의 효과를 유추하는 경우 모든 수준에 똑같이 불이익을주는 것은 어렵습니다. 대신 항상 모든 레벨을 포함 시키므로 각 레벨은 페널티에 대해 대칭입니다.
Matthew Drury

1
@Matthew Drury, 마지막 의견 감사합니다. 답변으로 확장 해 주시겠습니까? 따라서 더미 인코딩이 필요한 일반 선형 회귀에만 적용됩니까?
user90772

1

나는이 질문에 대한 가장 좋은 대답이한다고 @MatthewDrury에 의해 코멘트에 묻혀있는 느낌 이다 차이가 당신이 어떤 정규화 방법에 보이는 여분의 열을 사용한다고. @MatthewDrury의 추론은

[정규 회귀 분석]에서 인터셉트는 불이익을받지 않으므로 인터셉트의 일부가 아닌 레벨의 효과를 유추하는 경우 모든 레벨에 똑같이 불이익을주는 것은 어렵습니다. 대신 항상 모든 레벨을 포함 시키므로 각 레벨은 페널티에 대해 대칭입니다.

그는 요점이 있다고 생각합니다.


따라서 상황에 따라 k레벨 또는 레벨 이있는 하나의 핫 인코딩 변수가 있어야 k-1합니다. 귀하의 진술 (정규화 / 정규화되지 않음) 외에도 모든 경우에 수행 할 조치에 대한 지침이 있습니까?
Dan Chaltiel

규칙은 정규화가 없으면 고전적인 분산 분석 에서처럼 k-1 수준을 사용하는 것입니다. 베이지안 방법이나 L2 정규화를 사용한 회귀와 같이 정규화가있는 경우 k 수준을 사용하십시오.
Ben Ogorek
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.