在python中实现的adaboost算法是如何为每个特性分配特性重要性的?我正在使用它进行特征选择,我的模型在基于feature_importance_值的特征选择方面表现得更好。
发布于 2016-09-07 22:24:05
当基础分类器是决策树时,feature_importances_是sklearn的adaboost算法可用的属性。为了了解adaboost算法中如何计算feature_importances_,您需要首先了解如何为决策树分类器计算它。
决策树分类器:
feature_importances_将根据您选择的拆分条件而有所不同。当分割准则被设置为“熵”:DecisionTreeClassifier(criterion='entropy')时,feature_importances_等效于每个特征的信息增益。关于如何计算每个特性的信息增益的这里有一个教程 (特别是幻灯片7)。当您更改拆分标准时,feature_importances_不再等同于信息增益,但是计算它的步骤类似于幻灯片7中的步骤(使用新的拆分标准代替熵)。
集成分类器
现在让我们回到最初的问题,它是如何为adaboost算法确定的。根据医生的说法
这种重要性的概念可以通过简单地平均每个树的特征重要性来扩展到决策树集合。
https://stackoverflow.com/questions/36665511
复制相似问题