特征重要性 – 装袋法,scikit-learn

在我的一个项目中,我正在比较多棵决策树,使用scikit-learn的回归算法(随机森林、极端随机树、Adaboost和装袋法)。为了比较和解释这些算法,我使用了特征重要性,但对于装袋决策树似乎无法获得这一信息。

我的问题是:有谁知道如何获取装袋法的特征重要性列表?

问候,Kornee


回答:

您说的是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)

RandomForestClassifier内部执行相同的计算。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注