feature selection(6)
-
Python) Permutation Importance 다양하게 표현하는 방법
해당 파일에 함수를 정리하였습니다. In [26]: from IPython.core.display import display, HTML display(HTML("")) /tmp/ipykernel_3209568/3510566465.py:1: DeprecationWarning: Importing display from IPython.core.display is deprecated since IPython 7.14, please import from IPython display from IPython.core.display import display, HTML 참고¶ 해당 코드를 기반으로 정리한 코드입니다. https://github.com/cerlymarco/MEDIUM_NoteBook/blob/master..
2022.01.31 -
[변수 선택] Genetic Algorithm를 이용 (Python)
파이썬에서 변수 선택 시 다양한 알고리즘이 있다. sklearn에서 통계적인 방법론들을 사용한 scikit-learn.org/stable/modules/feature_selection.html 여러개의 메서드들도 있고, brouta와 같은 방법론이나, 아니면 feature importance, correlation을 이용한 방법 등 참 다양한 것 같다. 하지만 실제로 이러한 방법들이 통계적으로 유의미한 것을 검증해주는데, 결국 단별량적으로 바라보거나 큰 범위에서는 잘 찾기 어려울 수가 있다. 이럴 때 쓰기 좋은 다른 방법론으로는 GA가 있다. GA는 랜덤으로 여러개를여러 개를 뿌려보면서, 최적의 해를 찾는 과정에서 주로 쓰이는데, 이때 변수 선택도 여러 개를 뿌려고 실제로 해보면서, 좋은 변수들을 찾는 ..
2020.10.07 -
[변수 선택] BorutaShap 활용 (Python)
이전에도 Boruta를 이용해서 리뷰를 한 적이 있는데, 이번에는 Shap과 Brouta를 결합한 패키지를 찾게 되어서 공유한다. 해당 패키지의 장점이라고 생각하는 점은 일단 SHAP을 이용해서 변수 선택을 한다는 것이 가장 마음에 들었고, 그리고 변수 선택에서 사용하는 알고리즘이 Tree Based 알고리즘은 다 되긴 하는데, XGB , CATBOOST, DT(sklearn), RF(sklearn)... ensemble method(sklearn)이다. 특히 xgb나 catboost 같이 category feature를 변환하지 않고 변수 선택 모델링할 수 있는 패키지를 사용할 수 있어서, 실제로 category에 대한 영향도를 더 잘 표현해줄 것으로 기대한다. Algorithm Start by cre..
2020.10.06 -
[변수 선택] Chi-Square 독립성 검정으로 범주형 변수 선택하기
광고 한번만 눌러주세요 ㅎㅎ 블로그 운영에 큰 힘이 됩니다. 실제 분석 시에 정형 데이터의 범주형 데이터 처리가 골치가 아픕니다. 범주형 데이터는 보통 one-hot을 통해, 데이터를 굉장히 희소하게(sparse)하게 만들기 때문입니다. 보통 이렇게 차원이 커지게 되면, 차원의 저주에 빠질 수 있으면서, 학습도 굉장히 잘 안됩니다. 그래서 저는 보통 차원이 커질 경우 보통 embedding을 시키거나, 아니면 요즘은 catboost encoder나, target encoder 같은 방법을 써보려고 합니다. 이번에는 좀 더 변수 선택 차원으로 이야기해보고자 Chi-square 독립 검정을 통해 변수 선택을 하는 것을 보게 되어, 해보면서 공유합니다. Chi-Square Test of Independence..
2020.03.28 -
[변수 선택] sklearn에 있는 mutual_info_classif , mutual_info_regression를 활용하여 변수 선택하기 (feature selection)
sklearn.feature_selection.mutual_info_classif Mutual Information은 두 random variable들이 얼마나 mutual dependence 한 지를 measure 하는 방법을 의미한다. Mutual information - Wikipedia In probability theory and information theory, the mutual information (MI) of two random variables is a measure of the mutual dependence between the two variables. More specifically, it quantifies the "amount of information" (in units..
2020.03.09 -
[ Python ] scikit-learn feature selection Tool
도움이 되셨다면, 광고 한번만 눌러주세요. 블로그 관리에 큰 힘이 됩니다. https://scikit-learn.org/stable/modules/generated/sklearn.feature_selection.SelectFromModel.html sklearn.feature_selection.SelectFromModel — scikit-learn 0.22 documentation scikit-learn.org 우연히 다른 걸 찾아보다가 알게 되었다. 원래는 threshold를 자동으로 찾아주는 것이 있나 싶어서 찾다가 더 오히려 알고 싶었던 것이 나왔다. 보통 만약에 scikit-learn 패키지 자체를 이용해서 하려면 transform을 사용해서 축약된 feature를 가져오면 되고, 만약 다른 것에..
2019.12.21