1

プロジェクトでは、scikit-learnの回帰アルゴリズム(ランダムフォレスト、余分なツリー、AdaboostとBagging)を使っていくつかの決定木を比較しています。 それらを比較して解釈するために、私は機能の重要性を使用しますが、これは利用可能ではないようです。Feature importances - bagging、scikit-learn

私の質問:Baggingの機能のインポートリストを取得する方法を知っていますか?

Greetings、Kornee

答えて

4

BaggingClassifierについてお話ししていますか?これは多くの基本推定子で使用することができるため、実装された機能の実装はありません。フィーチャの重要度を計算するためのモデルに依存しないメソッドがあり(たとえばhttps://github.com/scikit-learn/scikit-learn/issues/8898参照)、scikit-learnはそれらを使用しません。

を使用すると、機能の重要度の自分を計算することができ、ベース推定として決定木の場合:それは bagging.estimators_内のすべての木々の間 tree.feature_importances_のちょうど平均するだろう:

import numpy as np 
from sklearn.ensemble import BaggingClassifier 
from sklearn.tree import DecisionTreeClassifier 
from sklearn.datasets import load_iris 

X, y = load_iris(return_X_y=True) 
clf = BaggingClassifier(DecisionTreeClassifier()) 
clf.fit(X, y) 

feature_importances = np.mean([ 
    tree.feature_importances_ for tree in clf.estimators_ 
], axis=0) 

RandomForestClassiferは内部的に同じ計算を行います。

関連する問題