机器学习相关知识整理系列之二:Bagging及随机森林
1. Bagging的策略
- 从样本集中重采样(有放回)选出\(n\)个样本,定义子样本集为\(D\);
- 基于子样本集\(D\),所有属性上建立分类器,(ID3,C4.5,CART,SVM等);
- 重复以上步骤\(m\)步,即获得了\(m\)个分类器;
- 最后根据这\(m\)个分类器进行投票,决定输入样本属于哪一类。
2. 随机森林
随机森林在Bagging基础上做了修改:
- 从样本中重复自抽样(Bootstrap)选出\(n\)个样本,定义子样本集为\(D\);
- 基于样本集\(D\),从所有属性中随机选择K个属性(特征),选择最佳分割属性作为结点建立CART决策树;
- 这\(m\)个CART组成一个随机森林,通过投票表决结果,决定输入样本属于哪一类。
3. 随机森林/Bagging和决策树关系
- 可以使用决策树作为基本分类器
- 也可以使用SVM、Logistics回归等分类器,由这些分类器组成的"总分类器",也叫随机森林
4. 投票机制
4.1 简单投票机制
- 一票否决
- 少数服从多数(有效多数,加权)
阈值表决
4.2 投票机制举例
- 假定有N个用户可以为X个电影投票(假定投票者不能给同一电影重复投票),投票有1,2,3,4,5星共五档。
- 根据用户投票对电影进行排序,本质任然为分类问题,对于某个电影,有N个决策树进行分类(1,2,3,4,5类)
投票方案:\[WR = \frac{v}{v+m}R + \frac{m}{v+m}C\] - \(WR\):加权得分;
- \(R\):该电影的用户投票的平均得分
- \(C\):所有电影的平均得分
- \(v\):该电影的投票人数
\(m\):排名前250名电影的最低投票数
5. 样本不均衡的常用处理方法
假定样本数目A类比B类多,且严重不平衡:
- A类欠采样
- 随机欠采样
- A类分成若干子集,分别与B类进入ML模型
- 基于聚类的A类分割
- B类过采样
- 避免欠采样造成的信息丢失
- B类数据合成
- 随机插值得到新样本
- 代价敏感学习
- 降低A类权值,提高B类权值
6. 随机森林总结
- 在数据集上表现良好
- 在对缺失数据进行估计时,随机森林是一个十分有效的方法。就算存在大量的数据缺失,随机森林也能较好地保持精确性;
- 随机森林算法能解决分类与回归两种类型
- 能够处理很高维度的数据,并且不用做特征选择
- 容易做成并行化方法
- 在训练完后,它能够给出哪些特征比较重要
- 随机森林的集成思想也可以用在其他分类器的设计中
- 随机森林在解决回归问题时没有在分类中表现的好,因为它并不能给出一个连续型的输出。当进行回归时,随机森林不能够作出超越训练集数据范围的预测,这可能导致在对某些还有特定噪声的数据进行建模时出现过度拟合。
机器学习相关知识整理系列之二:Bagging及随机森林的更多相关文章
- 机器学习相关知识整理系列之三:Boosting算法原理,GBDT&XGBoost
1. Boosting算法基本思路 提升方法思路:对于一个复杂的问题,将多个专家的判断进行适当的综合所得出的判断,要比任何一个专家单独判断好.每一步产生一个弱预测模型(如决策树),并加权累加到总模型中 ...
- 机器学习相关知识整理系列之一:决策树算法原理及剪枝(ID3,C4.5,CART)
决策树是一种基本的分类与回归方法.分类决策树是一种描述对实例进行分类的树形结构,决策树由结点和有向边组成.结点由两种类型,内部结点表示一个特征或属性,叶结点表示一个类. 1. 基础知识 熵 在信息学和 ...
- Hadoop相关知识整理系列之一:HBase基本架构及原理
1. HBase框架简单介绍 HBase是一个分布式的.面向列的开源数据库,它不同于一般的关系数据库,是一个适合于非结构化数据存储的数据库.另一个不同的是HBase基于列的而不是基于行的模式.HBas ...
- Redis相关知识整理
Redis相关知识整理 1. Redis和MySQL的区别?a).mysql是关系型数据库,而redis是NOSQL,非关系型数据库.mysql将数据持久化到硬盘,读取数据慢,而redis数据先存储在 ...
- 机器学习总结(二)bagging与随机森林
一:Bagging与随机森林 与Boosting族算法不同的是,Bagging和随机森林的个体学习器之间不存在强的依赖关系,可同时生成并行化的方法. Bagging算法 bagging的算法过程如下: ...
- 机器学习回顾篇(12):集成学习之Bagging与随机森林
.caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...
- 机器学习 —— 决策树及其集成算法(Bagging、随机森林、Boosting)
本文为senlie原创,转载请保留此地址:http://www.cnblogs.com/senlie/ 决策树--------------------------------------------- ...
- Bagging之随机森林
随机森林(Random Forest)是一种Bagging(Bootstrap Aggregating)集成算法,在样本随机(样本扰动)的基础上,进一步运用特征随机(属性扰动)的机制,得到比一般的Ba ...
- Bagging与随机森林算法原理小结
在集成学习原理小结中,我们讲到了集成学习有两个流派,一个是boosting派系,它的特点是各个弱学习器之间有依赖关系.另一种是bagging流派,它的特点是各个弱学习器之间没有依赖关系,可以并行拟合. ...
随机推荐
- Struts2 Action/动作
动作是Struts2框架的核心,因为他们的任何MVC(模型 - 视图 - 控制器)框架.每个URL将被映射到一个特定的动作,它提供了来自用户的请求提供服务所需的处理逻辑. 但动作也提供其他两个重要的能 ...
- APP https抓包
一.软件准备 charles 安卓模拟器(windows系统用逍遥模拟器,mac os 用夜神安卓模拟器) Xposed的apk安装包(安装到模拟器上),地址:http://repo.xposed.i ...
- python 基础 10.0 nosql 简介--redis 连接池及管道
一. NOSQL 数据库简介 NoSQL 泛指非关系型的数据库.非关系型数据库与关系型数据库的差别 非关系型数据库的优势: 1.性能NOSQL 是基于键值对的,可以想象成表中的主键和值的对应关系,而且 ...
- _utf8_encode _utf8_decode base64_encode base64_decode
const Base64 = { // private property _keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuv ...
- AGS Server10.1中地图文档更新如何使服务更新
一.需求背景 发布服务的mxd文档发生了更改,如何对该mxd文档映射的地图服务进行更新. 二.分析 由于在10.1中地图服务的发布采用的是msd的形式,也就是虽然在ArcMap中准备的地图文档是mxd ...
- standard pbr(二)
下一步看像素着色器代码 half4 fragBase (VertexOutputForwardBase i) : SV_Target { return fragForwardBaseInternal( ...
- 两个offer如何做选择?年薪20万vs年薪15万
(附注:本文转载于:http://www.eoeandroid.com/thread-296678-1-1.html) 前些天和一个年轻的朋友谈跳槽.朋友说她需要在两个offer里面做选择.一个是年薪 ...
- IO多路复用、协程
一.铺垫:基于socket发送http请求 1.需求一:向百度发送请求搜索关键字“alex”,有如下两种方式: import requests ret = requests.get('https:// ...
- PAT 1074 宇宙无敌加法器 (20 分)
地球人习惯使用十进制数,并且默认一个数字的每一位都是十进制的.而在 PAT 星人开挂的世界里,每个数字的每一位都是不同进制的,这种神奇的数字称为“PAT数”.每个 PAT 星人都必须熟记各位数字的进制 ...
- locust参数化
前面用篇专门讲了requests实现接口的参数关联案例,这里直接转化成locust脚本就行了 # coding:utf-8 from locust import HttpLocust, TaskSet ...