随机森林,随机森林中进行特征重要性
随机森林(RF)简介
只要了解决策树的算法,那么随机森林是相当容易理解的。随机森林的算法可以用如下几个步骤概括:
- 用有抽样放回的方法(bootstrap)从样本集中选取n个样本作为一个训练集
- 用抽样得到的样本集生成一棵决策树。在生成的每一个结点:
- 随机不重复地选择d个特征
- 利用这d个特征分别对样本集进行划分,找到最佳的划分特征(可用基尼系数、增益率或者信息增益判别)
- 重复步骤1到步骤2共k次,k即为随机森林中决策树的个数。
- 用训练得到的随机森林对测试样本进行预测,并用票选法决定预测的结果。
下图比较直观地展示了随机森林算法(图片出自文献2)
特征重要性评估
现实情况下,一个数据集中往往有成百上前个特征,如何在其中选择比结果影响最大的那几个特征,以此来缩减建立模型时的特征数是我们比较关心的问题。这样的方法其实很多,比如主成分分析,lasso等等。不过,这里我们要介绍的是用随机森林来对进行特征筛选。
用随机森林进行特征重要性评估的思想其实很简单,说白了就是看看每个特征在随机森林中的每颗树上做了多大的贡献,然后取个平均值,最后比一比特征之间的贡献大小。
好了,那么这个贡献是怎么一个说法呢?通常可以用基尼指数(Gini index)或者袋外数据(OOB)错误率作为评价指标来衡量
判断每个特征在随机森林中的每颗树上做了多大的贡献,然后取个平均值,最后比一比特征之间的贡献大小。其中关于贡献的计算方式可以是基尼指数或袋外数据错误率
https://blog.csdn.net/zjuPeco/article/details/77371645?locationNum=7&fps=1
https://www.jianshu.com/p/7a876bb876b9
随机森林,随机森林中进行特征重要性相关推荐
- 随机森林计算特征重要性_随机森林中计算特征重要性的3种方法
随机森林计算特征重要性 The feature importance describes which features are relevant. It can help with a better ...
- ML之PFI(eli5):基于mpg汽车油耗数据集利用RF随机森林算法和PFI置换特征重要性算法实现模型特征可解释性排序
ML之PFI(eli5):基于mpg汽车油耗数据集利用RF随机森林算法和PFI置换特征重要性算法实现模型特征可解释性排序 目录 基于mpg数据集利用RF随机森林算法和PFI置换特征重要性算法实现模型特 ...
- 用 XGBoost 在 Python 中进行特征重要性分析和特征选择
使用诸如梯度增强之类的决策树方法的集成的好处是,它们可以从训练有素的预测模型中自动提供特征重要性的估计. 在本文中,您将发现如何使用Python中的XGBoost库来估计特征对于预测性建模问题的重要性 ...
- 使用XGBoost在Python中进行特征重要性分析和特征选择
[翻译自 : Feature Importance and Feature Selection With XGBoost in Python] [说明:Jason Brownlee PhD大神的文章个 ...
- 随机森林RF中的特征重要性的计算公式VIM
特征重要性评估 现实情况下,一个数据集中往往有成百上前个特征,如何在其中选择比结果影响最大的那几个特征,以此来缩减建立模型时的特征数是我们比较关心的问题.这样的方法其实很多,比如主成分分析,lasso ...
- 随机森林实战(分类任务+特征重要性+回归任务)(含Python代码详解)
1. 随机森林-分类任务 我们使用随机森林完成鸢尾花分类任务: 第一步,导入我们可能需要的包: from sklearn.datasets import load_iris from sklearn. ...
- 机器学习中的特征重要性 Feature Importance
Feature Importance 闲话 几周没用CSDN,发现编辑器的字体变了.最近看了几篇讲特征重要性的文章.在这里[简要]记录一下我的总结,对不熟悉相关知识的读者做个导航. 优点 知道数据中的 ...
- Spark 和 Python.sklearn:使用随机森林计算 feature_importance 特征重要性
前言 在使用GBDT.RF.Xgboost等树类模型建模时,往往可以通过feature_importance 来返回特征重要性,本文以随机森林为例介绍其原理与实现.[ 链接:机器学习的特征重要性究竟是 ...
- 通过随机森林的例子解释特征重要性
https://www.toutiao.com/a6657142683347190284/ 2019-02-12 23:53:35 在许多(业务)案例中,同样重要的是不仅要有一个准确的机器学习模型,还 ...
最新文章
- java取字符串中不相同的字母_java 判断两个字符串是否为相同字母异序词 --- 记录...
- 10-Linux 基本指令
- java接口获取天气预报json数据
- 韦德螺旋: 这真是一个螺旋吗?
- pythonplatform标识_Python utils.platform方法代码示例
- Linux考试题(带答案)
- input输入框[type=file]上传图片文件转base64数据
- pygame的安装与使用
- python爬楼梯问题_python解决上楼梯问题
- rstudio中读取数据_如何在RStudio中预览数据
- dd命令详细(好文收藏)
- vbs 合并 excel 表格
- java学习笔记(8) 第8章(下)- 面向对象编程(中级部分) - 练习题
- 1033,2052 是什么意思?
- 用js实现登录的简单验证
- 怎么把图片转gif表情包?
- 基于cv2.VideoCapture 和 OpenCV 得到更快的 FPS之Webcam篇
- 7 款开源 Java 反编译工具
- 共轭梯度法 (CG) 解线性方程组
- 关于软路由改造的流水账(一)