더북(TheBook)

Wine 데이터셋에 있는 원본 특성의 4분의 1보다도 적은 특성을 사용했지만 테스트 데이터셋의 예측 정확도는 조금만 감소했습니다. 이 세 개의 특성에 담긴 판별 정보가 원래 데이터셋보다 적지 않다는 뜻입니다. Wine 데이터셋은 작은 데이터셋이라는 점을 유념하세요. 무작위성에 매우 민감합니다. 즉, 데이터셋을 훈련 데이터셋과 테스트 데이터셋으로 나눈 것과 훈련 데이터셋을 다시 훈련 서브셋과 검증 서브셋으로 나눈 방식에 영향을 받습니다.

특성 개수를 줄여서 KNN 모델의 성능이 증가하지는 않았지만 데이터셋 크기를 줄였습니다. 데이터 수집 비용이 높은 실전 애플리케이션에서는 유용할 수 있습니다. 또 특성 개수를 크게 줄였기 때문에 더 간단한 모델을 얻었고 해석하기도 쉽습니다.

Note ≡ 사이킷런의 특성 선택 알고리즘


사이킷런에는 특성 선택 알고리즘이 많이 준비되어 있습니다. 특성 가중치에 기반을 둔 재귀적 특성 제거(recursive feature elimination), 특성 중요도를 사용한 트리 기반 방법, 일변량 통계 테스트(univariate statistical test)가 있습니다. 전체 특성 선택 방법에 대한 설명은 책 범위를 넘어섭니다. 사이킷런의 온라인 문서(http://scikit-learn.org/stable/modules/feature_selection.html)에서 좋은 예제와 설명을 참고하세요. 또 제가 만든 mlxtend 파이썬 패키지에 앞서 구현한 SBS 알고리즘과 유사한 여러 가지 순차 특성 선택 방법을 구현해 놓았습니다(https://bit.ly/2J05Y3T).

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.