Sklearn 공부
SelectFromModel
특성 선택 : 모델 훈련이 끝난 후 사용자가 지정한 threshold를 기반으로 feature selection
from sklearn.ensemble import RandomForestClassifier
# 분류기
forest = RandomForestClassifier(n_estimators = 500, random_state = 23)
forest.fit(X_train, y_train)
importances = forest.feature_importances_
- RandomForestClassifier 모델을 통해 특성을 선택함
- 먼저 500개의 결정 트리에서 평균적인 불순도 감소를 기반으로 해당 데이터셋에서 가장 판별력이 좋은 특성을 추출
- importances 변수에 해당 특성들이 담겨 있음
SelectFromModel 적용
from sklearn.feature_selection import SelectFromModel
sfm = SelectFromModel(forest, threshold = 0.1, prefit = True)
# forest 모델 내 특성 중 지니계수 혹은 엔트로피 등 기준의 값이 0.1 이상인 특징을 선택
x_selected = sfm.transform(x_train)