작성
·
349
·
수정됨
0
안녕하세요, 선생님
4장의 feature selection 강의 내용에서 질문이 있습니다.
feature selection 하는 방법 중 가장 많이 사용하는 방법인 모델의 피처 중요도를 기반하는 방법인데 여기서 트리계열을 이용할 때는 지니지수를 통한 불순도에 따라 나오는feature_importance로 피처 중요도를 확인해 피처 선택, 회귀를 이용할 때는 회귀계수를 통한 피처 중요도를 확인해 피처 선택한다고 강의에서 들었습니다.
궁금한점
'왜 feature importance는 절대적인 featue selection 기준이 될 수 없는가?'에서 그 이유들이 나와있는데 이것들이 트리계열의 feature_importance를 이용한 피처 중요도를 확인해 피처 선택만 말씀하시는 건지 or 트리계열의 feature_importance를 이용한 피처 중요도를 확인해 피처 선택+회귀계수를 이용해 피처 선택(selectfrommodel 실습에서 lassocv 모델을 통한 회귀계수를 이용해 피처 선택함) 두 가지 경우 다 말씀하시는 건지 궁금합니다.
질문이 조금 이상할 수 있는데, 트리 계열의 feature_importance는 최적 트리를 만들기 위해 불순도 기반의 기준으로 피처 선택이 되기 때문에 모델 성능을 위한 피처 기준과 다를 수 있는 것은 이해했습니다만,
그렇다면 회귀계수를 이용한 feature selection 방법도 절대적인 feature selection 기준이 될 수 없는건가요? (있는건가요?)
답변 1
0
안녕하십니까,
Feature Selection에서 분류 모델의 feature importance가 문제가 될 수 있는 부분은 잘 알고 계시겠지만, 트리 분할(불순도)에 따라 중요도가 좌우되는 경향인 부분도 있고, 또 하나는 feature importance에 값 크기에 따라 feature를 selection하는 feature selection 기법의 문제도 있습니다.
예를 들어 사이킷런의 Recursive Feature Elimination이나 SelectFromModel의 경우 트리기반의 분류에서는 Feature importance, 회귀에서는 회귀 계수를 기반으로 반복적으로 모델 평가하면서 피처들을 선택하는 방식인데, 이런 방식의 Feature Selection은 오히려 모델의 성능을 떨어뜨릴 가능성이 높습니다. 그러니까 정확하지 않은 feature selection 방법입니다.
또한 feature importance가 가지는 태생적인(?) 제약점이 있기에 Permutation importance이 보다 정확한 feature selection 방식이 될 수 있습니다.
회귀 모델에서도 유사합니다. 회귀 계수의 경우 feature importance가 가지는 태생적인 제약점은 덜 합니다만, feature selection을 적용할 때는 Permutation importance 방식으로 적용해야 합니다.
feature importance냐 회귀 계수냐 보다는 Permutation importance 방식으로 feature selection이 되어야 하는 부분에 좀 더 촛점이 맞춰졌으면 합니다.
감사합니다.