R语言随机森林模型中具有相关特征的变量重要性
时间:2022-07-22
本文章向大家介绍R语言随机森林模型中具有相关特征的变量重要性,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
原文链接:http://tecdat.cn/?p=13546
变量重要性图是查看模型中哪些变量有趣的好工具。由于我们通常在随机森林中使用它,因此它看起来非常适合非常大的数据集。大型数据集的问题在于许多特征是“相关的”,在这种情况下,很难比较可变重要性图的值的解释。例如,考虑一个非常简单的线性模型
在这里,我们使用一个随机森林的特征之间的关系模型,但实际上,我们考虑另一个特点-不用于产生数据-
,即相关
。我们考虑这三个特征的随机森林
。
为了获得更可靠的结果,我生成了100个大小为1,000的数据集。
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")
顶部的紫色线是的可变重要性值
,该值相当稳定(作为一阶近似值,几乎恒定)。红线是的变量重要性函数,
蓝线是的变量重要性函数
。例如,具有两个高度相关变量的重要性函数为
看起来 比其他两个
要 重要得多,但事实并非如此。只是模型无法在
和 之间选择
:有时会
被选择,有时会被选择
。我想我发现图形混乱,因为我可能会想到的 重要性 的
恒定。考虑到其他变量的存在,我们已经掌握了每个变量的重要性。
实际上,我想到的是当我们考虑逐步过程时以及从集合中删除每个变量时得到的结果,
apply(IMP,1,mean)}
在这里,如果我们使用与以前相同的代码,
我们得到以下图
plot(C,VI[2,],type="l",col="red")lines(C,VI2[3,],col="blue")lines(C,VI2[4,],col="purple")
删除时会显示紫线
:这是最差的模型。我们保持
和时
,我们得到了蓝线。而且这条线是恒定的:并不取决于
(这在上一张图中,有
确实会对
重要性产生影响)。红线是移除后得到的
。关联为0时,它与紫色线相同,因此模型很差。关联度接近1时,与具有相同
,并且与蓝线相同。
然而,当我们拥有很多相关特征时,讨论特征的重要性并不是那么直观。
- Office高级威胁漏洞在野利用分析
- 10行代码告诉你,为什么说Python数据可视化是一件艺术品
- 没想到你是这样的Linux | 终端下有趣的命令合集
- PhEmail:基于Python的开源网络钓鱼测试工具
- 数据库中间件mysql-proxy细节【mysql官方的中间件】
- Office CVE-2017-8570远程代码执行漏洞复现
- Java 并发包中的读写锁及其实现分析
- 深入理解 Spring 事务原理
- Chrome开发者工具的小技巧
- Java Web中JSP中6种动作概况知识点总结——每日一语法学习
- 从Flash到Silverlight进阶教程-用代码来创建动画
- 从Flash到Silverlight进阶教程-Tweener
- silverlight设置浏览器Cookies
- 一个最基本的布局控件-panel
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 3分钟短文:Laravel写个命令行,你就是下一个Geek!
- Android开发多年每天Crud不清楚自己的技术?来刷刷大厂的高端技术面试题就知道了
- MySQL案例:count(*)效率优化
- MUI进行APP混合开发实现下拉刷新和上拉加载 原创
- Android 给控件添加边框阴影效果
- 详解Android Selinux 权限及问题
- Android图片采样缩放功能实例代码
- Android开发中使用Intent打开第三方应用及验证可用性的方法详解
- Android 7.0开发获取存储设备信息的方法
- Android中默认系统的声音/大小修改和配置详解
- Android开发中计算器的sin、cos及tan值计算问题分析
- Android开发实现绘制淘宝收益图折线效果示例
- Android自定义View实现搜索框(SearchView)功能
- android 监听SD卡文件变化的实现代码
- Android监听手机短信的示例代码