let us not love with words or tongue but actions and truth.

변수중요도 2

[for loop 활용] 최적화된 feature set 찾기

오늘은 다양한 모델을 돌릴 때, 어떤 feature set에서 성능이 가장 성능이 좋은지 확인하는 방법을 소개하려고 합니다. 예를 들어 feature1~10까지 10개의 feature가 있을 때, "feature 5, 10 " 의 조합이 "feature 1, 2, 4, 7" 의 조합보다 더 나은지 모든 조합에 대해 비교분석 하실 때 유용한 코드를 공유하고자 해요. 학생때 배웠던 조합을 잠깐 회상해보자고 하면, 10개의 숫자중에서 3개만 뽑는 경우의 수는 (순서 상관없이) 위의 값으로 120가지의 경우의 수가 있습니다. 알고리즘 진행 시, 심지어 몇개의 조합이 최적인지도 알 수 없기 때문에 위의 값 될텐데, 그렇다면 더 많은 경우의 수가 존재하죠. 이걸 다 손으로 돌리기엔 너무나 비효율적이니 for loo..

IT/파이썬 2021.06.25

Permutation Feature Importance(변수중요도)를 통한 feature selection

오늘은 permutation feature importance에 대해서 알아보려고 해요. 파이썬 코드에 대한 설명에 앞서서, 기본 변수중요도를 파악하는 방법과의 차이를 간단히 설명 드릴게요. stepwise, backward, forward 방식은 변수중요도를 파악하는 가장 간단한 방법이죠. SAS에서 주로 활용하긴 하는데, Forward는 변수를 하나씩 추가하면서 설명력이 높이지는 가장 best feature들을 찾는 것이고, 반대로 Backward는 전체 변수를 다 넣고 시작해서, 하나씩 변수를 제거하는 방식으로 진행합니다. stepwise는 단계별로 변수를 넣었다 제거하는 방식이구요. 파이썬에서 기본적인 feature importance를 구하는 방식도 stepwise와 유사하다고 보시면 됩니다. ..

IT/파이썬 2020.12.24