SciKit-Learnのパイプラインと組み合わせて機能選択を使用します。機能選択戦略として、私はSelectKBest
を使用します。私はcv.best_params_
を経由して、その後最高のパラメータを得ることができることを知っているSciKit-Learnの機能選択パイプライン後の実際の機能へのアクセス
select = SelectKBest(k=5)
clf = SVC(decision_function_shape='ovo')
parameters = dict(feature_selection__k=[1,2,3,4,5,6,7,8],
svc__C=[0.01, 0.1, 1],
svc__decision_function_shape=['ovo'])
steps = [('feature_selection', select),
('svc', clf)]
pipeline = sklearn.pipeline.Pipeline(steps)
cv = sklearn.grid_search.GridSearchCV(pipeline, param_grid=parameters)
cv.fit(features_training, labels_training)
:
パイプラインは、次のように作成され、実行されます。しかし、これはk=4
が最適であることだけを伝えます。しかし、私はこれらの機能を知りたいですか?これはどうすればできますか?
niceです。たとえば、 '.scores_'の結果が '[891.65675063 952.43574853 739.36567492 913.33581205 753.59383098 910.65470991 867.7711945 469.26835899]'であり、' best_params_'から 'k = 4'を見ると、4最も価値の高い機能が選択されましたか?これは正しいです? – beta
私はそれが正しいと思います。私の最新の編集内容を確認してください。それが、選択した機能を見る最善の方法です。 –
すばらしい、ありがとう。それは動作します。 – beta