首页 > 编程语言 >拓端tecdat|R语言编程指导随机森林模型中具有相关特征的变量重要性

拓端tecdat|R语言编程指导随机森林模型中具有相关特征的变量重要性

时间:2023-08-04 16:06:36浏览次数:47  
标签:变量 VI 模型 编程 lines tecdat 拓端 重要性 col

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


 

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

拓端tecdat|R语言编程指导随机森林模型中具有相关特征的变量重要性_数据集在这里,我们使用一个随机森林的特征之间的关系模型,但实际上,我们考虑另一个特点-不用于产生数据- 

拓端tecdat|R语言编程指导随机森林模型中具有相关特征的变量重要性_随机森林_02,即相关  

拓端tecdat|R语言编程指导随机森林模型中具有相关特征的变量重要性_变量重要性_03。我们考虑这三个特征的随机森林  

拓端tecdat|R语言编程指导随机森林模型中具有相关特征的变量重要性_变量重要性_04

为了获得更可靠的结果,我生成了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")

拓端tecdat|R语言编程指导随机森林模型中具有相关特征的变量重要性_数据集_05

拓端tecdat|R语言编程指导随机森林模型中具有相关特征的变量重要性_数据_06

拓端tecdat|R语言编程指导随机森林模型中具有相关特征的变量重要性_R语言_07

 

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

拓端tecdat|R语言编程指导随机森林模型中具有相关特征的变量重要性_随机森林_08,该值相当稳定(作为一阶近似值,几乎恒定)。红线是的变量重要性函数,  

拓端tecdat|R语言编程指导随机森林模型中具有相关特征的变量重要性_数据集_09 蓝线是的变量重要性函数  

拓端tecdat|R语言编程指导随机森林模型中具有相关特征的变量重要性_随机森林_10。例如,具有两个高度相关变量的重要性函数为

拓端tecdat|R语言编程指导随机森林模型中具有相关特征的变量重要性_随机森林_11

拓端tecdat|R语言编程指导随机森林模型中具有相关特征的变量重要性_数据_12看起来  比其他两个

拓端tecdat|R语言编程指导随机森林模型中具有相关特征的变量重要性_随机森林_13 要  重要得多,但事实并非如此。只是模型无法在

拓端tecdat|R语言编程指导随机森林模型中具有相关特征的变量重要性_变量重要性_14 和  之间选择  

拓端tecdat|R语言编程指导随机森林模型中具有相关特征的变量重要性_R语言_15:有时会  

拓端tecdat|R语言编程指导随机森林模型中具有相关特征的变量重要性_随机森林_16 被选择,有时会被选择

拓端tecdat|R语言编程指导随机森林模型中具有相关特征的变量重要性_R语言_17。我想我发现图形混乱,因为我可能会想到的  重要性 的  

拓端tecdat|R语言编程指导随机森林模型中具有相关特征的变量重要性_变量重要性_18 恒定。考虑到其他变量的存在,我们已经掌握了每个变量的重要性。

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

apply(IMP,1,mean)}

拓端tecdat|R语言编程指导随机森林模型中具有相关特征的变量重要性_R语言_19

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

我们得到以下图

plot(C,VI[2,],type="l",col="red")
lines(C,VI2[3,],col="blue")
lines(C,VI2[4,],col="purple")

拓端tecdat|R语言编程指导随机森林模型中具有相关特征的变量重要性_变量重要性_20

拓端tecdat|R语言编程指导随机森林模型中具有相关特征的变量重要性_R语言_21

拓端tecdat|R语言编程指导随机森林模型中具有相关特征的变量重要性_R语言_22删除时会显示紫线  

拓端tecdat|R语言编程指导随机森林模型中具有相关特征的变量重要性_数据_23 :这是最差的模型。我们保持

拓端tecdat|R语言编程指导随机森林模型中具有相关特征的变量重要性_随机森林_24 和时  

拓端tecdat|R语言编程指导随机森林模型中具有相关特征的变量重要性_数据_25,我们得到了蓝线。而且这条线是恒定的:并不取决于  

拓端tecdat|R语言编程指导随机森林模型中具有相关特征的变量重要性_数据集_26 (这在上一张图中,有  

拓端tecdat|R语言编程指导随机森林模型中具有相关特征的变量重要性_数据集_27 确实会对

拓端tecdat|R语言编程指导随机森林模型中具有相关特征的变量重要性_随机森林_28重要性产生影响)。红线是移除后得到的  

拓端tecdat|R语言编程指导随机森林模型中具有相关特征的变量重要性_随机森林_29。关联为0时,它与紫色线相同,因此模型很差。关联度接近1时,与具有相同  

拓端tecdat|R语言编程指导随机森林模型中具有相关特征的变量重要性_R语言_30,并且与蓝线相同。

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

标签:变量,VI,模型,编程,lines,tecdat,拓端,重要性,col
From: https://blog.51cto.com/u_14293657/6963628

相关文章

  • 作者推荐 | 【底层服务/编程功底系列】「底层技术原理」史上最清晰的采用程序员的视角
    背景介绍现在,零拷贝功能在Linux下几乎家喻户晓,但仍有很多人对其了解有限。为了解开这个功能的神秘面纱,我决定撰写一篇关于深入探讨的文章。本文将从用户模式应用程序的角度出发,介绍零拷贝的概念,省略了内核级的技术细节。希望通过本篇文章,可以帮助大家能更好地理解这个有用功能。什......
  • 用 Python 自动创建 Markdown 表格 - 每天5分钟玩转 GPT 编程系列(4)
    目录1.他们居然问我要Prompts2.让GPT-4来写代码2.1我对DevChat说2.2DevChat回答2.3我又对DevChat说2.4DevChat的第二轮回答2.5我再次对DevChat说2.6DevChat回答2.7最后效果3.他们居然让我要写总结1.他们居然问我要Prompts早几天我用GPT-4写了一个Gol......
  • 第三阶段C++提高编程(黑马程序员)——Day10
    4STL-函数对象4.1函数对象4.1.1函数对象概念概念:重载函数调用操作符的类,其对象常称为函数对象函数对象使用重载的()时,行为类似函数调用,也叫仿函数本质:函数对象(仿函数)是一个类,不是一个函数4.1.2函数对象使用特点:函数对象在使用时,可以像普通函数那样调用,可以有参数,可以有返回值函数......
  • Answer Set Programming 回答集编程
    什么是ASP?ASP,全称AnswerSetProgramming中文名叫“回答集编程”。实验室学长要我学ASP的时候,我就去百度查了ASP,结果查到了都是这个:ActiveServerPage,意为“活动服务器网页”。我当时就在想:“这个不对啊,这个搞网站的,应该是旁边组系统集成组的事呀”。果然,此ASP非彼ASP。......
  • Java 8特性,函数式接口编程
    一、函数式接口简介什么是函数式接口在接口中,有且只有一个抽象方法,那么这个接口就是函数式接口。函数式接口是Lambda表达式使用的前提条件。为什么使用函数式接口在Java中不支持将函数作为一个数据,也就不能将函数作为方法的参数进行传递。因此给函数外加一层接口的声明......
  • SIEMENS PLC介绍、西门子S1200系列接线、编程、下载和仿真
    前言  西门西PLC、台达触摸屏、法兰克机床等等多年以前玩得比较多,改造机床、维修机床、给机床编程等等,没事还能扯个零件啥的,之前也没总结过,有时间就重新整理下。  本章后面以西门1200实物为例,下载一个基本程序。PLC  玩得比较多的就是西门PLC,单个模块就是3K起,一个24V电源......
  • 【OpenHarmony内核编程接口】介绍定时器管理两种定时器以及案例演示
    前言本文介绍了内核编程接口之软定时器软定时器软定时器含义软件定时器(Timer),是基于系统时钟tick且由软件来模拟的定时器,当经过设定的tick计数值后会触发用户定义的回调函数ps1:定时器触发函数的执行,不是线程ps2:当定时器到期时,将执行回调函数以运行特定的代码ps3:定时精度......
  • 倍福Beckhoff TWinCAT ADS PLC编程
    一、倍福TWinCATADS简述在BeckhoffTwinCAT系统中,各个软件模块(如TwinCATPLC、TwinCATNC、Windows应用程序等)及硬件系统CX、BX、BC系列控制器中包含TwinCAT信息路由器。因此各个ADS设备之间都能够交换数据和信息。二、TWinCatADS设备标识每台TwinCATADS设备都有各自不......
  • 函数式编程之pipeline——很酷有没有
    Pipelinepipeline管道借鉴于UnixShell的管道操作——把若干个命令串起来,前面命令的输出成为后面命令的输入,如此完成一个流式计算。(注:管道绝对是一个伟大的发明,他的设哲学就是KISS–让每个功能就做一件事,并把这件事做到极致,软件或程序的拼装会变得更为简单和直观。这个设计理念......
  • linux编程
    1.读取文件流程:1.打开文件2.读/写文件3.关闭文件2.阻塞和非阻塞是文件的一种属性,只有设备文件和网络文件才有的特性3.fcntl(fd1,F_DUPFD,0)//0被占用,fcntl使用文件描述符表中可用的最小文件描述符4.fcntl(fd1,F_DUPFD,7)//7被占用,fcntl使用文件描述符表中可......