feature-selection - scikit adaboost feature_importance_

标签 feature-selection adaboost ensemble-learning

在python中实现的adaboost算法究竟是如何为每个特征分配特征重要性的?我将它用于特征选择,我的模型在基于 feature_importance_ 的值应用特征选择时表现更好。

最佳答案

feature_importances_当基分类器是决策树时,是 sklearn 的 adaboost 算法可用的属性。为了了解如何feature_importances_在adaboost算法中计算的,首先需要了解对于决策树分类器是如何计算的。

决策树分类器:
feature_importances_将根据您选择的拆分标准而有所不同。当拆分条件设置为“熵”时:DecisionTreeClassifier(criterion='entropy') feature_importances_相当于每个特征的信息增益。 Here is a tutorial关于如何计算每个特征的信息增益(特别是幻灯片 7)。当您更改拆分条件时,feature_importances_不再等同于信息增益,但是您计算它所采取的步骤与幻灯片 7 中采取的步骤类似(使用新的分割标准代替熵)。

集成分类器 :

现在让我们回到您最初的问题,即如何为 adaboost 算法确定它。 According to the docs :

This notion of importance can be extended to decision tree ensembles by simply averaging the feature importance of each tree

关于feature-selection - scikit adaboost feature_importance_,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36665511/

相关文章:

python - Sklearn 单变量选择 : Features are Constant

machine-learning - 用于文本分类的词性 (POS) 标签特征选择

matlab - 为什么这个简单易学的示例会破坏 AdaBoost?

c# - AdaBoost 反复选择相同的弱学习器

machine-learning - 考虑三个相互独立的分类器 A、B、C,具有相同的错误概率 :

python - 如何解释 scikit learn 中的随机森林分类器?

algorithm - 使用 Bhattacharyya 距离进行特征选择

使用由不规则多边形界定/轮廓的图像进行 OpenCV 级联训练?

r - 在 R 的插入符包中使用 adaboost

python - scikit-learn 中带有 BaseEstimator 的 GradientBoostingClassifier?