1.其他术语概念(前提)

随机森林我们可以理解为多个决策树组成的模型,但是如何组合,组合的方式是什么,我们就得知道集成学习的思想,bootstraping,bagging的概念。
集成学习思想: 集成学习主要的作用是为了解决单个模型在运行时固有的缺陷,从而将多个单个模型组合到一起,取长补短,共同发挥功效。简单的理解人多力量大。随机森林就是这个思想下的产物。这里借用另一个博主的一张图可以更好的理解这个思想。

bootstraping:自助抽样法,从样本中有放有回的随机抽取样本,这样能保证每个样本被抽取的概率都一样。
bagging: boostrap aggregation的缩写,自主抽样集成,袋装法。它是一种根据均匀概率分布从数据集中重复抽样(有放回的)的技术。子训练样本集的大小和原始数据集相同。在构造每一个子分类器的训练样本时,由于是对原始数据集的有放回抽样,因此同一个训练样本集中可能出现多次同一个样本数据。

讲到bagging,还可以拓展下,其实模型的组合方式分两种,分别为1.通过处理训练数据集,2.通过处理输入特征,刚才说的bagging属于前一种。其他类型的可以看下下面这张图。

2.随机森林的基本概念

随机森林其实就是一种特殊的bagging的方法,它的基础模型就是单棵决策树,它利用bootstrap方法生成m个训练集,对每个训练集构造一棵决策树,但是在找分裂结点时,它并不是使用全部特征,而是从所有特征中随机抽取部分特征,所以说每个决策树的分裂结点所使用的特征未必相同。实际上,随机森林同时对数据集,特征都进行了随机采样,所以说是一种特殊的bagging方法。

随机森林将成百上千棵决策树组合在一起,在略微不同的观察集上训练每个决策树,在每棵树中仅考虑有限数量的
特征来拆分节点。随机森林的最终预测是通过平均每棵树的预测来得到的。

随机森林的部分展示图(设定深度为6)

3.随机森林的优缺点

优点:

1、随机抽样和随机抽取特征可以很好地防止过拟合现象;

2、随机抽取特征也可以克服特征维度过高问题;

3、模型结构相对简单;

缺点:
1、对于数据噪音过大的样本集,容易产生过拟合现象

4.sklearn重要参数详解

参数详解:

  • criterion: 不纯度衡量指标 entropy(信息熵) / gini(基尼系数)
  • max_depth: 最大深度
  • min_samples_leaf: 一个结点所包含的最少样本数量,少于它就不会分枝
  • max_features: 一个结点包含的最大特征数量,超过会限制个数的特征会被舍弃
  • n_estimators: 森林中的树木的数量,一般越大的话,模型效果越好,但要注意过拟合问题。

随机森林算法原理梳理相关推荐

  1. Bagging与随机森林算法原理小结

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 在集成学习原理小结中,我们讲到了集成学习有两个流派,一个是boos ...

  2. Spark 随机森林算法原理、源码分析及案例实战

    图 1. Spark 与其它大数据处理工具的活跃程度比较 回页首 环境要求 操作系统:Linux,本文采用的 Ubuntu 10.04,大家可以根据自己的喜好使用自己擅长的 Linux 发行版 Jav ...

  3. (转载)机器学习知识点(十七)Bagging与随机森林算法原理小结

    集成学习有两个流派,一个是boosting派系,它的特点是各个弱学习器之间有依赖关系.另一种是bagging流派,它的特点是各个弱学习器之间没有依赖关系,可以并行拟合.本文就对集成学习中Bagging ...

  4. 机器学习-集成之随机森林算法原理及实战

    Bagging和随机森林 前言 集成学习是目前机器学习的一大热门方向.简单来说,集成学习就是组合许多弱模型以得到一个预测结果比较好的强模型.对于常见的分类问题就是指采用多个分类器对数据集进行预测,把这 ...

  5. 随机森林算法原理小结

    随机森林算法 理解了bagging算法,随机森林(Random Forest,以下简称RF)就好理解了.它是Bagging算法的进化版,也就是说,它的思想仍然是bagging,但是进行了独有的改进.我 ...

  6. 随机森林算法原理及OpenCV应用

    随机森林算法是机器学习.计算机视觉等领域内应用较为广泛的一个算法.它不仅可以用来做分类(包括二分类和多分类),也可用来做回归预测,也可以作为一种数据降维的手段. 在随机森林中,将生成很多的决策树,并不 ...

  7. 集成学习算法之boosting、bagging和随机森林算法原理

    集成学习的定义 集成学习的主要思路是先通过一定的规则生成多个学习器,再采用某种集成策略进行组合,最后综合判断输出最终结果.一般而言,通常所说的集成学习中的多个学习器都是同质的"弱学习器&qu ...

  8. 基于随机森林算法的贷款违约预测模型研究(Give me some credit)

    本文实验代码github:https://github.com/dengsiying/give-me-some-credit/tree/master 参考链接:从决策树到随机森林 http://www ...

  9. 基于随机森林算法的糖尿病数据集回归

    基于随机森林算法的糖尿病数据集回归 作者介绍 1. 随机森林算法原理 1.1决策树与Bagging 1.2 随机森林算法 2. 实验过程 2.1 糖尿病数据集 2.2 实验过程 2.3 实验结果展示 ...

  10. 基于随机森林算法的人脸数据集分类

    目录 1. 作者介绍 2. 关于理论方面的知识介绍 随机森林 3. 实验过程 3.1 数据集介绍 3.2 实验代码 3.3 运行结果 3.3 实验总结 参考 1. 作者介绍 李佳敏,女,西安工程大学电 ...

最新文章

  1. 正则表达式学习神器!
  2. pandas使用dt.year(month/day/hour/minute/second)函数抽取dataframe日期数据列对应的年月日时分秒信息
  3. python基础-资料整理_已迁移
  4. 《Docker容器:利用Kubernetes、Flannel、Cockpit和Atomic构建和部署》——2.2 容器式Linux系统的Docker配置...
  5. latex教程详细笔记
  6. jconsole工具检测堆内存变化
  7. SAP Gateway service language determination
  8. Delphi Code Editor 之 几个特性
  9. Go 自动构建工具 dogo 代码已托管到 Git@OSC
  10. java date和localdate_Java8 Date与LocalDate互转
  11. Atitit session机制的实现 目录 1. Web状态管理 Cookie 和 Session。 token 1 2. session 管理设计 1 2.1. session 的存储(可以
  12. SQL基本语句1——创建、添加、删除
  13. NRF24L01详解
  14. T3M1手持宽带自组网电台室内TCP灌包测试
  15. 获取必应每日壁纸(api)
  16. 浮点型数据存储方式浅析
  17. 计算机系统结构——量化研究方法(第三版)
  18. 反射望远镜的发展历程(3)
  19. 零零散散之Java异常
  20. 图片嵌在文字里首行缩进

热门文章

  1. APM 、PX4, PIXHAWK
  2. stm32实用技巧:JLINK接口定义和使用JTAG或SW下载程序
  3. JAVA实现图片验证码 超详细教程
  4. 【嗅探工具】wireshark初步认识
  5. c++ linux pthread函数
  6. 微信小程序的bindtap和catchtap实际场景 对话框中按钮点击和对话框背景点击处理笔记...
  7. 马尔可夫模型(MM) 马尔可夫链
  8. 什么是深度学习的视频标注?
  9. 误差传递公式(law of propagation of uncertainties)
  10. OpenNESS AF 模块代码梳理