在 python 中实现的 adaboost 算法究竟是如何为每个特征分配特征重要性的?我将它用于特征选择,我的模型在基于 feature_importance_ 的值应用特征选择时表现更好。
问问题
4182 次
1 回答
5
feature_importances_
当基分类器是决策树时,这是 sklearn 的 adaboost 算法可用的属性。为了了解feature_importances_
adaboost 算法是如何计算的,您需要首先了解它是如何为决策树分类器计算的。
决策树分类器:
将feature_importances_
根据您选择的拆分标准而有所不同。当分割标准设置为“熵”时:相当于每个特征的信息增益DecisionTreeClassifier(criterion='entropy')
。这是一个关于如何计算每个特征的信息增益的教程(特别是幻灯片 7)。当您更改拆分标准时,它不再等同于信息增益,但是您计算它的步骤与幻灯片 7 中的步骤相似(使用新的拆分标准代替熵)。feature_importances_
feature_importances_
集成分类器:
现在让我们回到您最初的问题,即如何确定 adaboost 算法。根据文档:
通过简单地平均每棵树的特征重要性,可以将这种重要性概念扩展到决策树集合
于 2016-09-07T22:24:05.657 回答