前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言随机森林模型中具有相关特征的变量重要性

R语言随机森林模型中具有相关特征的变量重要性

原创
作者头像
拓端
修改2020-08-06 14:39:23
2K0
修改2020-08-06 14:39:23
举报
文章被收录于专栏:拓端tecdat拓端tecdat

原文链接:http://tecdat.cn/?p=13546


变量重要性图是查看模型中哪些变量有趣的好工具。由于我们通常在随机森林中使用它,因此它看起来非常适合非常大的数据集。大型数据集的问题在于许多特征是“相关的”,在这种情况下,很难比较可变重要性图的值的解释。例如,考虑一个非常简单的线性模型

在这里,我们使用一个随机森林的特征之间的关系模型,但实际上,我们考虑另一个特点-不用于产生数据- 

,即相关  

。我们考虑这三个特征的随机森林  

为了获得更可靠的结果,我生成了100个大小为1,000的数据集。

代码语言:javascript
复制
library(mnormt)RF=randomForest(Y~.,data=db)plot(C,VI[1,],type="l",col="red")lines(C,VI[2,],col="blue")lines(C,VI[3,],col="purple")

顶部的紫色线是的可变重要性值  

,该值相当稳定(作为一阶近似值,几乎恒定)。红线是的变量重要性函数,  

 蓝线是的变量重要性函数  

。例如,具有两个高度相关变量的重要性函数为

看起来  比其他两个

 要  重要得多,但事实并非如此。只是模型无法在

 和  之间选择  

:有时会  

 被选择,有时会被选择

。我想我发现图形混乱,因为我可能会想到的  重要性 的  

 恒定。考虑到其他变量的存在,我们已经掌握了每个变量的重要性。

实际上,我想到的是当我们考虑逐步过程时以及从集合中删除每个变量时得到的结果,

代码语言:javascript
复制
apply(IMP,1,mean)}

在这里,如果我们使用与以前相同的代码,

我们得到以下图

代码语言:javascript
复制
plot(C,VI[2,],type="l",col="red")lines(C,VI2[3,],col="blue")lines(C,VI2[4,],col="purple")

删除时会显示紫线  

 :这是最差的模型。我们保持

 和时  

,我们得到了蓝线。而且这条线是恒定的:并不取决于  

 (这在上一张图中,有  

 确实会对

重要性产生影响)。红线是移除后得到的  

。关联为0时,它与紫色线相同,因此模型很差。关联度接近1时,与具有相同  

,并且与蓝线相同。

然而,当我们拥有很多相关特征时,讨论特征的重要性并不是那么直观。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档