利用随机森林做特征选择
来源:互联网 发布:淘宝手编毛衣外套 编辑:程序博客网 时间:2024/05/23 23:17
随机森林具有准确率高、鲁棒性好、易于使用等优点,这使得它成为了目前最流行的机器学习算法之一。随机森林提供了两种特征选择的方法:mean decrease impurity和mean decrease accuracy。
平均不纯度减少----mean decrease impurity
随机森林由多个决策树构成。决策树中的每一个节点都是关于某个特征的条件,为的是将数据集按照不同的响应变量一分为二。利用不纯度可以确定节点(最优条件),对于分类问题,通常采用基尼不纯度或者信息增益,对于回归问题,通常采用的是方差或者最小二乘拟合。当训练决策树的时候,可以计算出每个特征减少了多少树的不纯度。对于一个决策树森林来说,可以算出每个特征平均减少了多少不纯度,并把它平均减少的不纯度作为特征选择的值。
使用基于不纯度的方法的时候,要记住:1、这种方法存在偏向,对具有更多类别的变量会更有利(ID3);2、对于存在关联的多个特征,其中任意一个都可以作为指示器(优秀的特征),并且一旦某个特征被选择之后,其他特征的重要度就会急剧下降,因为不纯度已经被选中的那个特征降下来了,其他的特征就很难再降低那么多不纯度了,这样一来,只有先被选中的那个特征重要度很高,其他的关联特征重要度往往较低。在理解数据时,这就会造成误解,导致错误的认为先被选中的特征是很重要的,而其余的特征是不重要的,但实际上这些特征对响应变量的作用确实非常接近的(这跟Lasso是很像的)。
特征随机选择方法稍微缓解了这个问题,但总的来说并没有完全解决。
平均精确率减少----Mean decrease accuracy
另一种常用的特征选择方法就是直接度量每个特征对模型精确率的影响。主要思路是打乱每个特征的特征值顺序,并且度量顺序变动对模型的精确率的影响。很明显,对于不重要的变量来说,打乱顺序对模型的精确率影响不会太大,但是对于重要的变量来说,打乱顺序就会降低模型的精确率。
PS:
尽管我们在所有特征上进行了训练得到了模型,然后才得到了每个特征的重要性测试,这并不意味着我们扔掉某个或者某些重要特征后模型的性能就一定会下降很多,因为即便某个特征删掉之后,其关联特征一样可以发挥作用,让模型性能基本上不变。
- 利用随机森林做特征选择
- 利用随机森林做特征选择
- 用随机森林做特征选择
- 随机森林&特征选择
- 随机森林特征选择
- 随机森林之特征选择
- 基于随机森林的特征选择算法
- 使用随机森林和mRMR进行特征选择
- 【Machine Learning】使用随机森林进行特征选择
- 随机森林特征筛选
- 利用随机森林对特征重要性进行评估
- 利用spark的随机森林做票房预测
- 随机森林特征重要性度量
- [纹理分类]利用随机特征做纹理分类_刘丽
- 使用随机森林计算特征重要度
- 使用森林优化算法的特征选择
- 随机森林调用matlab代码做回归
- kaggle数据挖掘竞赛初步--Titanic<随机森林&特征重要性>
- android不创建opencv manager直接使用opencv API
- (一〇六)iPad开发之UIPopoverController的使用
- Chart工具选择
- hdu1166 敌兵布阵 线段树 单点更新
- 替换ListView快速滚动按钮的图标
- 利用随机森林做特征选择
- 参数传递二维数组
- Java网络编程简介
- 两台服务器既做LVS主备又做realserver的配置方法
- poj2828 买票 线段树维护连续的区间
- 8.4java学习笔记
- PHP 下载txt文件 功能
- Json解析工具的缺陷与可改进点
- 日历插件