Scikit-learn의 선형 회귀 모델을 사용하면 인터셉트를 비활성화 할 수 있습니다. 따라서 원 핫 인코딩의 경우 항상 fit_intercept = False를 설정해야합니까? 더미 인코딩의 경우 fit_intercept는 항상 True로 설정해야합니까? 웹 사이트에 "경고"가 표시되지 않습니다.
one-hot 인코딩을 사용하는 비정규 선형 모델의 경우 인터셉트를 false로 설정하거나 완벽한 공선 성을 유발해야합니다. sklearn
또한 능선 수축 페널티를 허용하며,이 경우에는 필요하지 않으며 실제로 절편과 모든 레벨을 모두 포함해야합니다. 더미 인코딩의 경우 모든 변수를 표준화 하지 않은 경우 인터셉트를 포함해야 합니다.이 경우 인터셉트는 0입니다.
one-hot 인코딩은 더 많은 변수를 생성하므로 더미 인코딩보다 더 많은 자유도가 있습니까?
절편은 추가 자유도이므로 잘 지정된 모델에서는 모두 동일합니다.
두 번째 변수에는 k 개의 범주 형 변수가있는 경우 어떻게해야합니까? k 개의 변수는 더미 인코딩에서 제거됩니다. 자유도는 여전히 동일합니까?
인터셉트 여부에 관계없이 두 범주 형 변수의 모든 레벨 을 사용한 모델에 적합 할 수 없습니다. 이진 변수 과 같이 모형에서 하나의 변수에 모든 수준을 단일 핫 인코딩 한 경우 상수 벡터와 동일한 예측 변수의 선형 조합이 있습니다.x1,x2,…,xn
x1+x2+⋯+xn=1
그런 다음 모델 에 다른 범주 형 의 모든 수준을 입력하려고 하면 상수 벡터와 동일한 고유 한 선형 조합이 생깁니다x′
x′1+x′2+⋯+x′k=1
그래서 선형 의존성을 만들었습니다
x1+x2+⋯xn−x′1−x′2−⋯−x′k=0
그래서 당신은 해야한다 두 번째 변수의 수준을두고 모든 라인까지 제대로.
예를 들어, 3 개의 범주 형 변수가 있으며 각 변수에는 4 개의 수준이 있습니다. 더미 인코딩에서 3 * 4-3 = 9 변수는 하나의 절편으로 작성됩니다. one-hot 인코딩에서는 3 * 4 = 12 변수가 인터셉트없이 작성됩니다. 제가 맞습니까?
두 번째는 실제로 작동하지 않습니다. 생성하는 열 디자인 행렬은 단수입니다. 설계의 특이성을 복구하려면 3 개의 개별 범주 인코딩 각각에서 하나씩 3 개의 열을 제거해야합니다.3×4=12