scikit adaboost功能_重要性_

Dev*_*tha 4 adaboost feature-selection ensemble-learning

在python中实现的adaboost算法如何将特征重要性分配给每个特征?我正在使用它进行特征选择,并且我的模型在基于feature_importance_的值应用特征选择时表现更好。

joc*_*ops 5

feature_importances_是sklearn的AdaBoost算法可用的属性时基分类是决策树。为了了解feature_importances_adaboost算法中的计算方式,您首先需要了解决策树分类器的计算方式。

决策树分类器:

feature_importances_会根据什么划分您选择的标准有所不同。当分裂标准被设定为“熵”:DecisionTreeClassifier(criterion='entropy')feature_importances_相当于每个特征的信息增益。这是有关如何计算每个功能(特别是幻灯片7)的信息增益的教程。当您更改拆分标准时feature_importances_,该信息不再等同于信息增益,但是计算该信息所采取的步骤与幻灯片7中的步骤相似(使用新的拆分标准代替了熵)。

集成分类器

现在,让我们回到关于如何确定adaboost算法的原始问题。根据文档

可通过简单地平均每棵树的特征重要性来将重要性概念扩展到决策树集合