随机森林算法原理梳理
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: 森林中的树木的数量,一般越大的话,模型效果越好,但要注意过拟合问题。
随机森林算法原理梳理相关推荐
- Bagging与随机森林算法原理小结
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 在集成学习原理小结中,我们讲到了集成学习有两个流派,一个是boos ...
- Spark 随机森林算法原理、源码分析及案例实战
图 1. Spark 与其它大数据处理工具的活跃程度比较 回页首 环境要求 操作系统:Linux,本文采用的 Ubuntu 10.04,大家可以根据自己的喜好使用自己擅长的 Linux 发行版 Jav ...
- (转载)机器学习知识点(十七)Bagging与随机森林算法原理小结
集成学习有两个流派,一个是boosting派系,它的特点是各个弱学习器之间有依赖关系.另一种是bagging流派,它的特点是各个弱学习器之间没有依赖关系,可以并行拟合.本文就对集成学习中Bagging ...
- 机器学习-集成之随机森林算法原理及实战
Bagging和随机森林 前言 集成学习是目前机器学习的一大热门方向.简单来说,集成学习就是组合许多弱模型以得到一个预测结果比较好的强模型.对于常见的分类问题就是指采用多个分类器对数据集进行预测,把这 ...
- 随机森林算法原理小结
随机森林算法 理解了bagging算法,随机森林(Random Forest,以下简称RF)就好理解了.它是Bagging算法的进化版,也就是说,它的思想仍然是bagging,但是进行了独有的改进.我 ...
- 随机森林算法原理及OpenCV应用
随机森林算法是机器学习.计算机视觉等领域内应用较为广泛的一个算法.它不仅可以用来做分类(包括二分类和多分类),也可用来做回归预测,也可以作为一种数据降维的手段. 在随机森林中,将生成很多的决策树,并不 ...
- 集成学习算法之boosting、bagging和随机森林算法原理
集成学习的定义 集成学习的主要思路是先通过一定的规则生成多个学习器,再采用某种集成策略进行组合,最后综合判断输出最终结果.一般而言,通常所说的集成学习中的多个学习器都是同质的"弱学习器&qu ...
- 基于随机森林算法的贷款违约预测模型研究(Give me some credit)
本文实验代码github:https://github.com/dengsiying/give-me-some-credit/tree/master 参考链接:从决策树到随机森林 http://www ...
- 基于随机森林算法的糖尿病数据集回归
基于随机森林算法的糖尿病数据集回归 作者介绍 1. 随机森林算法原理 1.1决策树与Bagging 1.2 随机森林算法 2. 实验过程 2.1 糖尿病数据集 2.2 实验过程 2.3 实验结果展示 ...
- 基于随机森林算法的人脸数据集分类
目录 1. 作者介绍 2. 关于理论方面的知识介绍 随机森林 3. 实验过程 3.1 数据集介绍 3.2 实验代码 3.3 运行结果 3.3 实验总结 参考 1. 作者介绍 李佳敏,女,西安工程大学电 ...
最新文章
- 正则表达式学习神器!
- pandas使用dt.year(month/day/hour/minute/second)函数抽取dataframe日期数据列对应的年月日时分秒信息
- python基础-资料整理_已迁移
- 《Docker容器:利用Kubernetes、Flannel、Cockpit和Atomic构建和部署》——2.2 容器式Linux系统的Docker配置...
- latex教程详细笔记
- jconsole工具检测堆内存变化
- SAP Gateway service language determination
- Delphi Code Editor 之 几个特性
- Go 自动构建工具 dogo 代码已托管到 Git@OSC
- java date和localdate_Java8 Date与LocalDate互转
- Atitit session机制的实现 目录 1. Web状态管理 Cookie 和 Session。 token 	1 2. session 管理设计	1 2.1. session 的存储(可以
- SQL基本语句1——创建、添加、删除
- NRF24L01详解
- T3M1手持宽带自组网电台室内TCP灌包测试
- 获取必应每日壁纸(api)
- 浮点型数据存储方式浅析
- 计算机系统结构——量化研究方法(第三版)
- 反射望远镜的发展历程(3)
- 零零散散之Java异常
- 图片嵌在文字里首行缩进