集成方法 Bagging原理
1.Bagging方法思路
Bagging独立的、并行的生成多个基本分类器,然后通过投票方式决定分类的类别
Bagging使用了自助法确定每个基本分类器的训练数据集,初始样本集中63.2%的数据会被采样到
从Training Sets中每次取1个,放回,再取1个,放回,重复直到取到n个组成Boot Strap1
同理生成 Boot Strap2、Boot Strap3、……、Boot Strap t,组成Bootstrap Sets,Bootstrap Sets中的数据占Training Sets的63.2%
然后由这些Boot Strap生成不同的基本分类器h1、h2、……、ht
使用这些基本分类器对剩余36.8%的数据预测,然后投票决定分类结果
Bagging方法常用的算法是Random Forest
2.Random Forest算法
随机森林 = Bagging + 完全生长的CART决策树
算法思想
1)使用自助法进行采样,生成n个训练集
2)利用n个训练集,训练n个决策树,决策树不进行剪枝
- 从d个属性中随机选择k个属性
- 从k个属性里选出最优特征,生成二叉树
参数k控制了随机性的引入程度: 若令k=d,则决策树的构建与传统决策树相同;若令k=1,则是随机选择一个属性用于划分;一般情况下,推荐值$k=log_2d$
3)n个决策树分别进行预测,然后投票决定最终结果
3.Random Forest的优点
1)RF很少过拟合
2)RF中的决策树是平行生成的,速度快
3)RF对异常值不敏感,能处理缺失数据,并且不会丢失精度
4)RF在分类问题有很高的精度
4.Random Forest的缺点
1)集成大量的决策树可以提高RF的性能,但是会使算法变慢
2)RF在回归问题表现不好
它并不能给出一个连续的输出。当进行回归时,RF不能够做出超越训练集数据范围的预测,这可能导致在某些特定噪声的数据进行建模时出现过度拟合。(PS:随机森林已经被证明在某些噪音较大的分类或者回归问题上会过拟合)
集成方法 Bagging原理的更多相关文章
- 集成方法 Boosting原理
1.Boosting方法思路 Boosting方法通过将一系列的基本分类器组合,生成更好的强学习器 基本分类器是通过迭代生成的,每一轮的迭代,会使误分类点的权重增大 Boosting方法常用的算法是A ...
- 常用的模型集成方法介绍:bagging、boosting 、stacking
本文介绍了集成学习的各种概念,并给出了一些必要的关键信息,以便读者能很好地理解和使用相关方法,并且能够在有需要的时候设计出合适的解决方案. 本文将讨论一些众所周知的概念,如自助法.自助聚合(baggi ...
- 【机器学习实战】第7章 集成方法 ensemble method
第7章 集成方法 ensemble method 集成方法: ensemble method(元算法: meta algorithm) 概述 概念:是对其他算法进行组合的一种形式. 通俗来说: 当做重 ...
- 【机器学习实战】第7章 集成方法(随机森林和 AdaBoost)
第7章 集成方法 ensemble method 集成方法: ensemble method(元算法: meta algorithm) 概述 概念:是对其他算法进行组合的一种形式. 通俗来说: 当做重 ...
- 决策树和基于决策树的集成方法(DT,RF,GBDT,XGBT)复习总结
摘要: 1.算法概述 2.算法推导 3.算法特性及优缺点 4.注意事项 5.实现和具体例子 内容: 1.算法概述 1.1 决策树(DT)是一种基本的分类和回归方法.在分类问题中它可以认为是if-the ...
- 机器学习 —— 决策树及其集成算法(Bagging、随机森林、Boosting)
本文为senlie原创,转载请保留此地址:http://www.cnblogs.com/senlie/ 决策树--------------------------------------------- ...
- 决策树和基于决策树的集成方法(DT,RF,GBDT,XGB)复习总结
摘要: 1.算法概述 2.算法推导 3.算法特性及优缺点 4.注意事项 5.实现和具体例子 内容: 1.算法概述 1.1 决策树(DT)是一种基本的分类和回归方法.在分类问题中它可以认为是if-the ...
- [机器学习]集成学习--bagging、boosting、stacking
集成学习简介 集成学习(ensemble learning)通过构建并结合多个学习器来完成学习任务. 如何产生"好而不同"的个体学习器,是集成学习研究的核心. 集成学习的思路是通过 ...
- SpringBoot集成MyBatis底层原理及简易实现
MyBatis是可以说是目前最主流的Spring持久层框架了,本文主要探讨SpringBoot集成MyBatis的底层原理.完整代码可移步Github. 如何使用MyBatis 一般情况下,我们在Sp ...
随机推荐
- QGridLayout
Help on class QGridLayout in module PyQt5.QtWidgets: class QGridLayout(QLayout) | QGridLayout(QWidg ...
- Spark报错
1. Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at com.mysql.jdb ...
- FJUTOJ-周赛2016-12-16
注:fjutoj基本每周都有一次周赛,欢迎大家都来参加! 网址:http://59.77.139.92/index.jsp A题:来源 POJ 2773 题意:给两个数m和k,问第k 个和m 互素的数 ...
- python 绘制柱状图
python 绘制柱状图 import matplotlib.pyplot as plt import numpy as np # 创建一个点数为 8 x 6 的窗口, 并设置分辨率为 80像素/每英 ...
- Flask--特殊装饰器, CBV, 三方组件
一. Flask中的特殊装饰器 before_request # before_request 是在视图函数执行之前执行的 @app.before_request def before(): prin ...
- macbook 入门
前面的话 第一次使用 Mac 之前,需要改变一些原有思维,不应该使用 Windows 的思维习惯去使用 Mac,Mac 会节省系统维护.清理杀毒.升级驱动等操作的时间,让我们可以专注做真正重要的事情, ...
- Wiki leaks files backup
Wiki leaks files backup 来源 http://ftp.icm.edu.pl/packages/incoming/torrent/ Index of /packages/inco ...
- POJ2975 Nim 【博弈论】
DescriptionNim is a 2-player game featuring several piles of stones. Players alternate turns, and on ...
- ubuntu mirror
# apt-mirror configuration file ## The default configuration options (uncomment and change to overri ...
- 最近公共祖先(LCT)
来一发\(LCT\)求\(LCA\) \(LCT\)在时间上不占据优势,码量似乎还比树剖,倍增,\(Tarjan\)大一点 但是却是一道\(LCT\)的练手题 对于每一个询问,我们只需要把其中一个点( ...