[Machine Learning with Python Cookbook] ch10. Dimension Reduction using Feature Selection

4월 12, 2021





Summary

 특성 선택(feature selection)은 고품질의 정보가 많은 특성은 선택하고 덜 유용한 특성은 버리는 방식입니다. 방식에는 필터, 래퍼, 임베디드 세 가지가 있습니다.
 필터 filter: 통계적 속성을 조사하여 가장 뛰어난 특성 선택
 래퍼 wrapper: 시행착오 통해 가장 높은 품질의 에측을 만드는 특성의 부분 조합 찾음
 임베디드 embedded: 학습 알고리즘의 훈련 단계를 확장하거나 일부로 구성하여 가장 좋은 특성의 부분 조합을 선택함

    * 분산을 기준으로 수치 특성 선택하기 (10.1)
        - 수치형 특성 중 분산이 낮은 특성(즉 정보가 거의 없는 특성)을 삭제함: sklearn.feature_selection.VarianceThreshold 사용

    분산을 기준으로 이진 특성 선택하기 (10.2)
        - 이진 범주형 특성 중 분산이 낮은 특성(즉 정보가 거의 없는 특성)을 삭제함. 베르누이 확률 변수의 분산이 기준값 이상인 특성을 선택함: sklearn.feature_selection.VarianceThreshold 사용

    * 상관관계가 큰 특성 다루기 (10.3)
        - 두 가지 특성의 상관관계가 크다면 담고 있는 정보가 매우 비슷하므로 중복된 특성을 포함하는 것과 같음. 따라서 이 중 하나를 삭제: 상관관계 행렬(correlation matrix)을 사용하여 상관관계가 큰 특성을 확인하고 삭제

    분류 작업에 관련 없는 특성 삭제하기 (10.4)
        - 범주형 타겟 벡터에서 관련 없는 특성 삭제하기: 카이제곱(chi-square) 통계를 사용
        - 카이제곱 통계는 두 범주형 벡터의 독립성을 평가
        - 특성이 수치형인 경우 각 특성과 타겟 벡터 사이에서 분산 분석(ANOVA)의 F-값을 사용


Code