随机森林(RF)简介

只要了解决策树的算法,那么随机森林是相当容易理解的。随机森林的算法可以用如下几个步骤概括:

  1. 用有抽样放回的方法(bootstrap)从样本集中选取n个样本作为一个训练集
  2. 用抽样得到的样本集生成一棵决策树。在生成的每一个结点:
  3. 随机不重复地选择d个特征
  4. 利用这d个特征分别对样本集进行划分,找到最佳的划分特征(可用基尼系数、增益率或者信息增益判别)
  5. 重复步骤1到步骤2共k次,k即为随机森林中决策树的个数。
  6. 用训练得到的随机森林对测试样本进行预测,并用票选法决定预测的结果。

下图比较直观地展示了随机森林算法(图片出自文献2)

特征重要性评估

现实情况下,一个数据集中往往有成百上前个特征,如何在其中选择比结果影响最大的那几个特征,以此来缩减建立模型时的特征数是我们比较关心的问题。这样的方法其实很多,比如主成分分析,lasso等等。不过,这里我们要介绍的是用随机森林来对进行特征筛选。 
用随机森林进行特征重要性评估的思想其实很简单,说白了就是看看每个特征在随机森林中的每颗树上做了多大的贡献,然后取个平均值,最后比一比特征之间的贡献大小。 
好了,那么这个贡献是怎么一个说法呢?通常可以用基尼指数(Gini index)或者袋外数据(OOB)错误率作为评价指标来衡量

判断每个特征在随机森林中的每颗树上做了多大的贡献,然后取个平均值,最后比一比特征之间的贡献大小。其中关于贡献的计算方式可以是基尼指数或袋外数据错误率

https://blog.csdn.net/zjuPeco/article/details/77371645?locationNum=7&fps=1

https://www.jianshu.com/p/7a876bb876b9

随机森林,随机森林中进行特征重要性相关推荐

  1. 随机森林计算特征重要性_随机森林中计算特征重要性的3种方法

    随机森林计算特征重要性 The feature importance describes which features are relevant. It can help with a better ...

  2. ML之PFI(eli5):基于mpg汽车油耗数据集利用RF随机森林算法和PFI置换特征重要性算法实现模型特征可解释性排序

    ML之PFI(eli5):基于mpg汽车油耗数据集利用RF随机森林算法和PFI置换特征重要性算法实现模型特征可解释性排序 目录 基于mpg数据集利用RF随机森林算法和PFI置换特征重要性算法实现模型特 ...

  3. 用 XGBoost 在 Python 中进行特征重要性分析和特征选择

    使用诸如梯度增强之类的决策树方法的集成的好处是,它们可以从训练有素的预测模型中自动提供特征重要性的估计. 在本文中,您将发现如何使用Python中的XGBoost库来估计特征对于预测性建模问题的重要性 ...

  4. 使用XGBoost在Python中进行特征重要性分析和特征选择

    [翻译自 : Feature Importance and Feature Selection With XGBoost in Python] [说明:Jason Brownlee PhD大神的文章个 ...

  5. 随机森林RF中的特征重要性的计算公式VIM

    特征重要性评估 现实情况下,一个数据集中往往有成百上前个特征,如何在其中选择比结果影响最大的那几个特征,以此来缩减建立模型时的特征数是我们比较关心的问题.这样的方法其实很多,比如主成分分析,lasso ...

  6. 随机森林实战(分类任务+特征重要性+回归任务)(含Python代码详解)

    1. 随机森林-分类任务 我们使用随机森林完成鸢尾花分类任务: 第一步,导入我们可能需要的包: from sklearn.datasets import load_iris from sklearn. ...

  7. 机器学习中的特征重要性 Feature Importance

    Feature Importance 闲话 几周没用CSDN,发现编辑器的字体变了.最近看了几篇讲特征重要性的文章.在这里[简要]记录一下我的总结,对不熟悉相关知识的读者做个导航. 优点 知道数据中的 ...

  8. Spark 和 Python.sklearn:使用随机森林计算 feature_importance 特征重要性

    前言 在使用GBDT.RF.Xgboost等树类模型建模时,往往可以通过feature_importance 来返回特征重要性,本文以随机森林为例介绍其原理与实现.[ 链接:机器学习的特征重要性究竟是 ...

  9. 通过随机森林的例子解释特征重要性

    https://www.toutiao.com/a6657142683347190284/ 2019-02-12 23:53:35 在许多(业务)案例中,同样重要的是不仅要有一个准确的机器学习模型,还 ...

最新文章

  1. java取字符串中不相同的字母_java 判断两个字符串是否为相同字母异序词 --- 记录...
  2. 10-Linux 基本指令
  3. java接口获取天气预报json数据
  4. 韦德螺旋: 这真是一个螺旋吗?
  5. pythonplatform标识_Python utils.platform方法代码示例
  6. Linux考试题(带答案)
  7. input输入框[type=file]上传图片文件转base64数据
  8. pygame的安装与使用
  9. python爬楼梯问题_python解决上楼梯问题
  10. rstudio中读取数据_如何在RStudio中预览数据
  11. dd命令详细(好文收藏)
  12. vbs 合并 excel 表格
  13. java学习笔记(8) 第8章(下)- 面向对象编程(中级部分) - 练习题
  14. 1033,2052 是什么意思?
  15. 用js实现登录的简单验证
  16. 怎么把图片转gif表情包?
  17. 基于cv2.VideoCapture 和 OpenCV 得到更快的 FPS之Webcam篇
  18. 7 款开源 Java 反编译工具
  19. 共轭梯度法 (CG) 解线性方程组
  20. 关于软路由改造的流水账(一)

热门文章

  1. 计算机的桌面由哪些组成,计算机的硬件组成
  2. Vue proxy代理
  3. matlab人口增长线性回归拟合_在matlab中实现线性回归和logistic回归
  4. 物联网通信之5G工业级路由器,基于高速率、低时延、大带宽快速组网
  5. 读文章笔记(十):多任务学习
  6. 时分多路复用(TDM)
  7. 编程珠玑之第二章习题10
  8. Python爬虫之scrapy高级(全站爬取,分布式,增量爬虫)
  9. 基于Tensorflow的BEGAN实现
  10. setsockopt函数