机器学习第5周--炼数成金-----决策树,组合提升算法,bagging和adaboost,随机森林。
决策树decision tree
什么是决策树
输入:学习集
输出:分类觃则(决策树)
决策树算法概述
70年代后期至80年代初期,Quinlan开发了ID3算法(迭代的二分器)
Quinlan改迚了ID3算法,称为C4.5算法
1984年,多位统计学家在著名的《Classification and regression tree》书里提出了CART算法
ID3和CART几乎同期出现,引起了研究决策树算法的旋风,至今已经有多种算法被提出
算法的核心问题
该按什么样的次序来选择变量(属性)?
最佳分离点(连续的情形)在哪儿?
ID3算法
信息增益计算
递归+分而治之
在上图的基础上,再递归使用这个方法计算子节点的分裂属性,最终就可以得到整个决策树。
这个方法称为ID3算法,还有其它的算法也可以产生决策树
对于特征属性为连续值,可以如此使用ID3算法:先将D中元素按照特征属性排序,则每两个相邻元素的中间点可以看做潜在分裂点,
从第一个潜在分裂点开始,分裂D并计算两个集合的期望信息,具有最小期望信息的点称为这个属性的最佳分裂点,其信息期望作为此属性的信息期望。
C4.5算法
信息增益的方法倾向于首先选择因子数较多的变量
信息增益的改迚:增益率
CART算法
使用基尼指数选择变量
剪枝
CART的剪枝
后剪枝:先产生完全的决策树,再迚行裁剪。不之相对的做法是前剪枝
代价复杂度:叶节点个数(裁减对象)和树的错误率的函数
如果剪枝能使代价复杂度下降,则实施之
剪枝集
怎样评估分类器效能?
提升分类器准确率的组合方法
组合方法包括:裃袋(bagging),提升(boosting)和随机森林
基于学习数据集抽样产生若干训练集
使用训练集产生若干分类器
每个分类器分别迚行预测,通过简单选举多数,判定最终所属分
为什么组合方法能提高分类准确率?
组合算法的优势
1.能明显提升判别准确率
2.对误差和噪音更加鲁棒性
3.一定程度抵消过度拟合
4.适合并行化计算
装袋算法
解释:有放回抽样不自助样本
有放回抽样
自助样本(bootstrap),韩家炜书第241页
袋装算法的优势
准确率明显高于组合中任何单个的分类器
对于较大的噪音,表现不至于很差,并且具有鲁棒性
不容易过度拟合
提升(boosting)算法思想
训练集中的元组被分配权重
权重影响抽样,权重越大,越可能被抽取
迭代训练若干个分类器,在前一个分类器中被错误分类的元组,会被提高权重,使到它在后面建立的分类器里被更加“关注”
最后分类也是由所有分类器一起投票,投票权重取决于分类器的准确率
Adaboost算法
提升算法的优缺点
可以获得比bagging更高的准确率
容易过度拟合
随机森林(Random Forest)算法
由很多决策树分类器组合而成(因而称为“森林”)
单个的决策树分类器用随机方法构成。首先,学习集是从原训练集中通过有放回抽样得到的自助样本。
其次,参不构建该决策树的变量也是随机抽出,参不变量数通常大大小于可用变量数。
单个决策树在产生学习集和确定参不变量后,使用CART算法计算,不剪枝
最后分类结果取决于各个决策树分类器简单多数选举
随机森林算法优点
准确率可以和Adaboost媲美
对错误和离群点更加鲁棒性
决策树容易过度拟合的问题会随着森林规模而削弱
在大数据情况下速度快,性能好
机器学习第5周--炼数成金-----决策树,组合提升算法,bagging和adaboost,随机森林。的更多相关文章
- 机器学习第7周-炼数成金-支持向量机SVM
支持向量机SVM 原创性(非组合)的具有明显直观几何意义的分类算法,具有较高的准确率源于Vapnik和Chervonenkis关于统计学习的早期工作(1971年),第一篇有关论文由Boser.Guyo ...
- 机器学习第2周---炼数成金-----线性回归与Logistic
重点归纳 回归分析就是利用样本(已知数据),产生拟合方程,从而(对未知数据)迚行预测用途:预测,判别合理性例子:利用身高预测体重:利用广告费用预测商品销售额:等等.线性回归分析:一元线性:多元线性:广 ...
- Python数据分析【炼数成金15周完整课程】
点击了解更多Python课程>>> Python数据分析[炼数成金15周完整课程] 课程简介: Python是一种面向对象.直译式计算机程序设计语言.也是一种功能强大而完善的通用型语 ...
- dataguru(炼数成金)大数据培训基地印象
dataguru访问地址:http://f.dataguru.cn/?fromuid=99611 课程优惠码:C4B6 这段时间一直在dataguru(炼数成金)上学习<hadoop数据分析平 ...
- 炼数成金(dataguru)IT技能修炼
2016我定的目标就是要走出舒适区,进入学习区!为了少走弯路,节约学习的成本和时间,我选择了dataguru.看到心仪的课程毫不犹豫的就报了名. 分享了炼数成金邀请码,使用邀请码报名课程可以减免50% ...
- MapReduce工作原理图文详解 (炼数成金)
MapReduce工作原理图文详解 1.Map-Reduce 工作机制剖析图: 1.首先,第一步,我们先编写好我们的map-reduce程序,然后在一个client 节点里面进行提交.(一般来说可以在 ...
- 截图:【炼数成金】深度学习框架Tensorflow学习与应用
创建图.启动图 Shift+Tab Tab 变量介绍: F etch Feed 简单的模型构造 :线性回归 MNIST数据集 Softmax函数 非线性回归神经网络 MINIST数据集分类器简单版 ...
- 炼数成金数据分析课程---14、Logistic回归
炼数成金数据分析课程---14.Logistic回归 一.总结 一句话总结: 大纲+实例快速学习法 主要讲Logistic回归的原理及编程实现 1.事件的优势比(odds)是什么? 记y取1的概率是p ...
- 炼数成金数据分析课程---10、python中如何画图
炼数成金数据分析课程---10.python中如何画图 一.总结 一句话总结: 主要matplotlib库,pandas中也可以画一些基础图 大纲+实例快速学习法 1.matplotlib的最简单画图 ...
随机推荐
- 近似推断(Approximate Inference)
1.变分推断(Variational Inference) 1.1.分解概率分布(Factorized distributions) 1.2.分解近似的性质(Properties of factori ...
- 使用PULL解析XML文件
转载博文1:http://blog.csdn.net/wangkuifeng0118/article/details/7313241 XmlPull和Sax类似,是基于流(stream)操作文件,然后 ...
- 001Maven_基本介绍及安装
Maven入门教程 介绍.环境配置 Maven介绍 Maven是一个采用纯Java编写的开源项目管理工具, Maven采用了一种被称之为Project Object Model (POM)概念来管理项 ...
- Class中isAssignableFrom() 方法
看Spring源码的时候看到这个方法: protected WebApplicationContext createWebApplicationContext(ServletContext sc) { ...
- 一个区域只能放置一个组件,如果想在一个区域放置多个组件就需要使用Panel来装载
五种布局管理器: Flow Layout(流式布局):按照组件添加到容器中的顺序,顺序排放组件位置.默认为水平排列,如果越界那么会向下排列.排列的位置随着容器大小的改变而改变. Panel默认的布局管 ...
- php -- PDO预处理
可以使用多种方式实现预处理:指的是在绑定数据进行执行的时候,可以有多种方式. 预处理语句中为变量 使用数组指定预处理变量 1.准备预处理语句(发送给服务器,让服务器准备预处理语句) PDOStatem ...
- json转datatable(正则表达式的方法)
/// <summary> /// 将json转换为DataTable /// </summary> /// <param name="strJson" ...
- 【基础练习】【BFS+A*】codevs1225八数码难题题解
题目描写叙述 Description Yours和zero在研究A*启示式算法.拿到一道经典的A*问题,可是他们不会做,请你帮他们. 问题描写叙述 在3×3的棋盘上,摆有八个棋子,每一个棋子上标有1至 ...
- 权限模块_整体方案说明_设计实体&映射实体_实现初始化权限数据的功能
权限模块_整体方案说明 要点说明 权限就是控制功能的使用(功能对应着URL). 对功能的控制就是对URL的访问控制. 在我们的程序中,一个功能对应一个或两个URL: 1,例如列表或删除功能,只对应一个 ...
- ArcGIS中的 .tpk数据
转:http://blog.csdn.net/mytudousi/article/details/33347249 什么是tpk文件 tpk是ArcGIS10.1推出的一种新的数据文件类型,主要是用于 ...