1

저는 Machine Learning의 초보자입니다. 49 가지 기능을 기반으로 이진 분류를 수행하고 있습니다. 처음 7 가지 기능은 float64 유형입니다. 다음 18 개 특징은 멀티 클래스 유형이고 나머지 I 위의 출력많은 기능을위한 scikit-learn의 기능 선택

[ 1.20621145e-01 3.71627370e-02 1.82239903e-05 5.40071522e-03 
    1.77431957e-02 8.40569119e-02 1.74562937e-01 5.00468692e-02 
    7.60565780e-03 1.78975490e-01 4.30178009e-03 7.44005584e-03 
    3.46208406e-02 1.67869557e-03 2.94863800e-02 1.97333741e-02 
    2.53116233e-02 1.30663822e-02 1.14032351e-02 3.98503442e-02 
    3.48701630e-02 1.93366039e-02 5.89310510e-03 3.17052801e-02 
    1.47389909e-02 1.54041443e-02 4.94699885e-03 2.27428191e-03 
    1.27218776e-03 7.39305898e-04 3.84357333e-03 1.59161363e-04 
    1.31479740e-03 0.00000000e+00 5.24038196e-05 9.92543746e-05 
    2.27356615e-04 0.00000000e+00 1.29338508e-05 4.98412036e-06 
    2.97697346e-06 0.00000000e+00 0.00000000e+00 0.00000000e+00 
    0.00000000e+00 1.49018368e-05 0.00000000e+00 0.00000000e+00 
    0.00000000e+00] 

로서이었다

model = ExtraTreesClassifier() 
model.fit(x_new, y) 
print(model.feature_importances_) 

다음 코드를 이용하여 기능 선택을 수행, 즉 0 또는 1 이진 클래스 타입 인 그들 중 누구도 없었다 크게 나는 멀티 클래스 유형의 18 개 기능의 하위 집합에 그것을 시도하고 다음의 모든 기능을 포함

[ 0.06456545 0.01254671 0.32220959 0.00552464 0.02017919 0.07311639 
    0.00716867 0.06964389 0.04797752 0.06608452 0.02915153 0.02044009 
    0.05146265 0.05712569 0.09264365 0.01252251 0.01899865 0.02863864] 

가있는 모든 기능의 공헌을 저하 출력했다 분류하지만 어떤 것도 제거 할 수는 없습니다. 상대적으로 점수가 낮은 기능을 제거해야합니까? 위 결과의 추론은 무엇입니까?

당신은 "그들 중 누구도 중요한 없었다"라고되어 있지만이 기능의 중요성에서보고있는 점수는 P-값 아니다

답변

1

는 sklearn에서는 또한 다음과 같이 측정된다 지니 중요성라고도 feature_importances_ : 트리 기반 모델의 소정의 기능에 대해, 그 중요성은 트리 노드에 도달 샘플의 확률이다.

값의 범위는 0에서 1까지입니다. 값 0은 모델의 결과가 지형지 물에 전혀 의존하지 않으며 1은 모델의 출력이 지형지 물과 직접 연관됨을 의미합니다.

기능 선택을 위해 this 기능을 사용하여 임계 값을 지정할 수있는 SelectFromModel을 사용할 수 있습니다. 중요도 값이 임계 값 이상인 기능이 선택됩니다.

체크 중요성 계산 방법에 대한 자세한 내용은 this을 참조하십시오.

1

u는 자동으로 교차 검증 및 분류의 중요성을 찾아 최고의 기능을 선택합니다

model=ExtraTreesClassifier() 
model=RFECV(model,cv=3) 
model.fit(features_train,label_train) 

이 sklearn.feature_selection.RFECV

를 사용할 수 있습니다.

모델은 속성

n_features_ 있습니다 교차 유효성 검사 선택한 기능의 수.

support_ : 선택한 기능의 마스크. 인덱스를 기반으로 True 및 False 배열을 제공합니다. 고려 대상은 참이고 무시 된 것은 거짓입니다.

순위 : 기능 순위입니다. 고려 된 것들은 랭크 1을주고 다른 값들을 둡니다.

은 참조 : http://scikit-learn.org/stable/modules/generated/sklearn.feature_selection.RFECV.html#sklearn.feature_selection.RFECV