1
對於一個項目,我使用scikit-learn的迴歸算法(隨機森林,額外樹木,Adaboost和套袋)比較多個決策樹。 爲了比較和解釋它們,我使用了特徵重要性,儘管對於裝袋決策樹,這看起來並不可用。功能重要性 - 套袋,scikit-learn
我的問題:有人知道如何獲得Bagging的要素重要性列表嗎?
問候,Kornee
對於一個項目,我使用scikit-learn的迴歸算法(隨機森林,額外樹木,Adaboost和套袋)比較多個決策樹。 爲了比較和解釋它們,我使用了特徵重要性,儘管對於裝袋決策樹,這看起來並不可用。功能重要性 - 套袋,scikit-learn
我的問題:有人知道如何獲得Bagging的要素重要性列表嗎?
問候,Kornee
你說的是BaggingClassifier?它可以與許多基本估計器一起使用,所以沒有實現重要的重要性。有計算功能重要性的模型無關的方法(例如參見https://github.com/scikit-learn/scikit-learn/issues/8898),scikit-learn不使用它們。
在決策樹爲基礎估計就可以計算功能重要性有關自己的情況:它會只是一個所有樹木之間的tree.feature_importances_
平均bagging.estimators_
:
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做內部相同的計算。