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

原文链接:

http://tecdat.cn/?p=13546​tecdat.cn

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

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

,即相关

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

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


  1. library(mnormt)

  2. RF=randomForest(Y~.,data=db)

  3. plot(C,VI[1,],type="l",col="red")

  4. lines(C,VI[2,],col="blue")

  5. lines(C,VI[3,],col="purple")

06fad2da8fb0d08b3f0db905fe1d49e7.png

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

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

蓝线是的变量重要性函数

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

e61158910f8dc8e6a98963a7c67e2d12.png

看起来 比其他两个

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

和 之间选择

:有时会

被选择,有时会被选择

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

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

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

apply(IMP,1,mean)}

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

我们得到以下图


  1. plot(C,VI[2,],type="l",col="red")

  2. lines(C,VI2[3,],col="blue")

  3. lines(C,VI2[4,],col="purple")

54ec0373225a247c69b4e6881310d4ef.png

删除时会显示紫线

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/557634.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在IDEA中右键New没有创建Mapper文件选项解决办法

问题解决 1.File–>Settings–>Editor–>File and Code Templates 模板中输入内容 <?xml version"1.0" encoding"utf-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/…

mysql合并多条纪录字段_mysql合并多条记录的单个字段去一条记录

mysql怎么合并多条记录的单个字段去一条记录&#xff0c;今天在网上找了一下&#xff0c;方法如下&#xff1a;测试用表结构&#xff1a;-- ------------------------------------------------------------ 表的结构 tet--CREATE TABLE IF NOT EXISTS tet (id int(11) NOT NULL…

三步教你解决Invalid bound statement (not found): com.xxx.dao.xxxDao.selectByxx错误!!!!很简单

1 问题实质: dao层(又叫mapper接口)跟mapper.xml文件没有映射 2 问题原因: 出现这种映射问题的原因分为低级原因和更低级原因两种 更低级原因: (1)dao层的方法和mapper.xml中的方法不一样; (2)mapper中的namespace resultParameter 和对应的dao层entity层不一样 (3)拼写错误 如…

java mysql lru_Java集合详解5:深入理解LinkedHashMap和LRU缓存

今天我们来深入探索一下LinkedHashMap的底层原理&#xff0c;并且使用linkedhashmap来实现LRU缓存。摘要&#xff1a;HashMap和双向链表合二为一即是LinkedHashMap。所谓LinkedHashMap&#xff0c;其落脚点在HashMap&#xff0c;因此更准确地说&#xff0c;它是一个将所有Entry…

SpringBoot中注入ApplicationContext对象的三种方式

在项目中&#xff0c;我们可能需要手动获取spring中的bean对象&#xff0c;这时就需要通过 ApplicationContext 去操作一波了&#xff01; 1、直接注入&#xff08;Autowired&#xff09; Component public class User {Autowiredprivate ApplicationContext applicationCont…

django2.1支持的mysql版本_一文解决django 2.2与mysql兼容性问题

Django是一个开放源代码的Web应用框架&#xff0c;由Python写成。采用了MTV的框架模式&#xff0c;即模型M&#xff0c;视图V和模版T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的&#xff0c;即是CMS(内容管理系统)软件。并于2005年7月在BSD许可…

springBoot的自动扫描包范围

springboot扫描包的范围的约定 SpringBoot的注解扫描的默认规则是从SpringBoot的项目入口类。若入口类所在的包是com.example.demo那么自动扫描包的范围是com.example.demo包及其下面的子包&#xff0c;如果service包和dao包不在此包下面&#xff0c;则不会自动扫描。 手动配置…

mysql一共有多少引擎_MySQL存储引擎你们知道多少?

MySQL是我们经常使用的数据库处理系统(DBMS)&#xff0c;不知小伙伴们有没有注意过其中的“存储引擎”(storage_engine)呢&#xff1f;有时候面试题中也会问道MySQL几种常用的存储引擎的区别。这次就简短侃一下存储引擎那些事儿。先去查一下“引擎”概念。引擎(Engine)是电子平…

SpringBoot 中@Autowired 注入失效原因及解决方法

SpringBoot 中Autowired 注入失效原因及解决方法 1、原因分析 1.1 包没有被扫描到通过Autowired注入的类所在的包路径不在Application启动类所在的包/子包路径下。Spring Boot项目的Bean装配默认规则是根据Application类(指项目入口类)所在的包位置从上往下扫描。eg: Applica…

python词云模糊_用Python和WordCloud绘制词云(内附让字体清晰的秘笈)

环境及模块&#xff1a;Win7 64位Python 3.6.4WordCloud 1.5.0Pillow 5.0.0Jieba 0.39目标&#xff1a;绘制安徽省2018年某些科技项目的词云&#xff0c;直观展示热点。思路&#xff1a;先提取项目的名称&#xff0c;再用Jieba分词后提取词汇&#xff1b;过滤掉“研发”、“系列…

shiro框架,自定义realm注入service失败解决办法

shiro框架,自定义realm注入service失败解决办法 报错如下: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘shiroFilter’ defined in ServletContext resource [/WEB-INF/config/spring-shrio.xml]: Cannot resolve reference …

MySQL建立多选一列表_如何实现自定义列表的多个item,的单选或多选

展开全部自定义ListView item中包含一个e69da5e6ba903231313335323631343130323136353331333337376333textview 和checkbox,checkbox选中级别高于item,故在xml中进行屏蔽单选方法:(该方法同样适用于radiobutton)main.xmlandroid:layout_width"match_parent"android:l…

spring的bean不能注入的几种原因及分析

1、异常信息 2.有可能引起的原因: 1、在applicationContext.xml的配置文件里的包扫描不对。 2、在web.xml里没有加载spring容器。 3、分布式工程&#xff0c;使用dubbo或者hsf通信&#xff0c;在服务层&#xff0c;或者消费层&#xff0c;单词写错了。 4、还有一种可能&am…

linux 备份mysql并上传_Linux 网站目录和MySQL备份并上传FTP

#!/bin/bashMYSQL_USERrootMYSQL_PASSFTP_USERFTP_PASSFTP_IPFTP_backupbackupWEB_DATA/home/wwwrootDataBakNameData_$(date ”%Y%m%d”).tar.gzWebBakNameWeb_$(date ”%Y%m%d”).tar.gzOldDataData_$(date -d -3day ”%Y%m%d”).tar.gzOldWebWeb_$(date -d -3day ”%Y%m%d”…

python后端需要什么基础_【后端开发】python爬虫需要什么基础

入手爬虫确实不要求你精通Python编程&#xff0c;但基础知识还是不能忽视的&#xff0c;那么我们需要哪些Python基础呢&#xff1f;首先我们先来看看一个最简单的爬虫流程&#xff1a;第一步要确定爬取页面的链接&#xff0c;由于我们通常爬取的内容不止一页&#xff0c;所以要…

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.TooManyR

异常信息&#xff1a; org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 2 at org.mybatis.spring.MyBatisExceptionTransl…

java 两个字段排序_如何在Java中按两个字段排序?

使用Java 8流方法.。//Creates and sorts a stream (does not sort the original list)persons.stream().sorted(Comparator.comparing(Person::getName).thenComparing(Person::getAge));Java 8 Lambda方法.。//Sorts the original list Lambda stylepersons.sort((p1, p2) -&…

spring的动态代理,碰到了一个类型转换的问题:java.lang.ClassCastException: com.sun.proxy.$Proxy16 cannot be cast to com.

spring的动态代理&#xff0c;碰到了一个类型转换的问题&#xff1a; java.lang.ClassCastException: com.sun.proxy.$Proxy16 cannot be cast to com.Charon.service.UserServiceImpl 首先介绍一下spring的动态代理。 spring使用的动态代理有两种&#xff1a;JDK Proxy 和CGL…

java xms512m_安装版的tomcat设置JAVA_OPTS=-Xms128M -Xmx512M -XX:PermSize=128M -XX:MaxPermSize=512M...

tomcat如果是通过windows服务启动&#xff0c;执行的是bin\tomcat.exe.他读取注册表中的值,而不是catalina.bat的设置.解决办法:修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\Tomcat6\Parameters\JavaOptions原值为-Dcatalina.homeE:\Tomcat…

关于Typora编辑器编写markdown文档时插入出现前字吞后字的解决方法

关于Typora编辑器编写markdown文档时插入出现前字吞后字的解决方法 原因是按到了键盘上的Insert键&#xff0c;使得编辑模式变为了改写&#xff0c;所以会把文本替换掉&#xff0c;这个按键没有状态标示。