随机森林如何评估特征重要性

集成学习模型的一大特点是可以输出特征重要性,特征重要性能够在一定程度上辅助我们对特征进行筛选,从而使得模型的鲁棒性更好。

随机森林中进行特征重要性的评估思想为:
判断每个特征在随机森林中的每颗树上做了多大的贡献,然后取个平均值,最后比一比特征之间的贡献大小。其中关于贡献的计算方式可以是基尼指数或袋外数据错误率。

RF评估特征重要性--基于基尼指数

基尼指数计算方法:k 代表 k 个类别,p_k代表类别 k的样本权重。


那么特征

X_j

在节点m上的重要性,即节点m分枝前后的Gini指数变化量为 :
(其中,GIl和GIr分别表示分枝后两个新节点的Gini指数)

 

 

RF评估特征重要性--基于袋外数据

对于一棵树 T_i,用OOB样本可以得到误差 e1,然后随机改变OOB中的第 j 列,保持其他列不变,对第 j 列进行随机的上下置换,得到误差 e2。至此,可以用 e1-e2 来刻画特征 j 的重要性。其依据就是,如果一个特征很重要,那么其变动后会非常影响测试误差,如果测试误差没有怎么改变,则说明特征j不重要。

而该方法中涉及到的对数据进行打乱的方法通常有两种:
1)是使用uniform或者gaussian抽取随机值替换原特征;
2)是通过permutation的方式将原来的所有N个样本的第 i 个特征值重新打乱分布(相当于重新洗牌)。

比较而言,第二种方法更加科学,保证了特征替代值与原特征的分布是近似的(只是重新洗牌而已)。这种方法叫做permutation test(随机排序测试),即在计算第 i 个特征的重要性的时候,将N个样本的第 i 个特征重新洗牌

转载注明:https://www.jianshu.com/p/7a876bb876b9



作者:0过把火0
链接:https://www.jianshu.com/p/7a876bb876b9
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

随机森林评估特征重要性的方法有多种。一种常用的方法是通过计算特征的平均-减少-不纯重要性来衡量。这种方法通过测量特征在减少不确定性(分类器)或方差(回归器)方面的有效性来计算特征重要性。然而,这种方法并不总是准确反映特征重要性,特别是在特征的度量尺度或类别数量有所不同的情况下。 另一种更可靠的方法是使用互换重要性法。该方法通过将验证集或袋外(OOB)样本导入随机森林,并记录基线准确性(分类器)或 R2 得分(回归器)。然后,对于每个特征,对单一预测特征的列值进行修正,并重新计算准确率或者 R2。特征重要性可以通过基线和因排列组合而造成的总体准确率或 R2 下降之间的差异来衡量。 虽然互换重要性法的计算成本较高,但结果更可靠。它能够更准确地评估特征重要性。 在构建随机森林模型时,可以使用随机森林库中提供的函数来评估特征重要性。例如,在Python中,可以使用scikit-learn库中的RandomForestClassifier类或RandomForestRegressor类来构建随机森林模型,并使用其中的feature_importances_属性来获取特征重要性。可以使用permutation_importance()函数来计算互换重要性。另外,可以使用plot_importances()函数来绘制特征重要性的热图。 综上所述,随机森林评估特征重要性的方法有多种,包括平均-减少-不纯重要性和互换重要性。互换重要性法更可靠且准确,但计算成本较高。在实际应用中,可以使用相应的函数和方法来计算和可视化特征重要性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [机器学习笔记 十五:随机森林(Random Forest)评估机器学习模型的特征重要性](https://blog.csdn.net/amyniez/article/details/127618854)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值