인프런 커뮤니티 질문&답변

윤석우님의 프로필 이미지
윤석우

작성한 질문수

[개정판] 파이썬 머신러닝 완벽 가이드

회귀 실습 2: 캐글경연 주택가격 예측 - Advanced Regression Techniques - 04

다중공선성 제거를 위한 VIF 10 이상 피쳐 제거

해결된 질문

작성

·

772

0

안녕하세요~!
 
본 강의에서는 사용되지 않았지만 다중공선성 제거를 위해 VIF 10 이상인 피쳐들은 drop하는 게 성능에 더 좋다고 하여
해당 방법을 적용하였는데 오히려 RMSE값이 0.3~0.5 정도 커지는 결과가 나타났습니다.(선형회귀, 릿지, 라쏘)
VIF 제거 외에는 강의해주신 내용도 거의 유사한 방식으로 전처리 적용하였습니다.
 
1. VIF 10 이상인 피쳐들을 제거하는 게 예측률 향상에 무조건 좋은 것은 아닌건가요?
2. 만약 그렇다면 다중공선성 제거를 위한 추가적인 기법이 있을 것 같은데, 대표적으로 활용되는 방법이 어떤게 있을까요?
3. 마지막으로, VIF 10 이상인 피쳐들은 제거하여 성능이 향상되는 데이터셋의 대표적인 예와, 적용이 잘 안되는 예가 있을까요?
 
이번에도 애매한 질문을 드리는 점 죄송합니다.
아시는 수준에서 답변 주시면 정말 감사하겠습니다^^

답변 1

0

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까, 

저도 선형회귀를 처음 배울때 독립 변수들끼리 상관도가 높으면 제거를 고려하라고 배웠지만, 실제는 그닥 성능이 향상되지 않거나 오히려 저하되는 경우가 있었습니다. 

피처엔지니어링 중에 피처 셀렉션, 그러니까 적절한 피처만 고르는 작업을 수행시 오히려 성능이 향상되지 않는 경우가 발생하곤 합니다. 

꼭 이론대로 모델이 움직이지 않습니다. 특히 선형회귀에서 다중공선성이 그런 특성이 있는 것 같습니다. 

다중공선성으로 피처를 제거하는 것은 보조적인 수단으로 참고하시면 좋을 것 같습니다. 한번 제거해 보고, 성능이 나빠지면 다시 원복하는 수준에서 테스트 해보시면 좋을 것 같습니다. 개인적으로 선형 규제 회귀에서 다중 공선성 이슈로 피처를 제거해서 성능이 좋아지는 경우를 많이 경험해 보지 못했습니다. 

요약해서 말씀 드리면 다중 공선성 이슈는 이론대로 모델이 작동하는 경우가 그렇게 흔하지 않으며, 독립변수를 제거했다가 오히려 성능이 저하되는 경우가 발생할 수도 있습니다. 보조적으로 적용해보고, 성능이 저하되면 적용하지 않으시는게 좋다고 생각합니다. 

감사합니다. 

윤석우님의 프로필 이미지
윤석우

작성한 질문수

질문하기