机器学习技法-决策树和CART分类回归树构建算法
课程地址:https://class.coursera.org/ntumltwo-002/lecture
重要!重要!重要~

一、决策树(Decision Tree)、口袋(Bagging),自适应增强(AdaBoost)

- Bagging和AdaBoost算法再分类的时候,是让所有的弱分类器同时发挥作用。它们之间的区别每个弱分离器是否对后来的blending生成G有相同的权重。
- Decision Tree是一种有条件的融合算法,每次只能根据条件让某个分类器发挥作用。
二、基本决策树算法
1.用递归的视角来看决策树,根据特征选择分支条件,不断的生成子树,所有的子数组成了最后的决策树。
例如下面根据回家时间、约会情况、作业的deadline的特征,生成决策树,预测是否会观看mooc在线课程。

2.基本的决策树算法描述
- 确定分支条件。分支条件可以由人来确定,也可以由算法生成
- 根据分支条件划分训练数据D
- 根据分支条件不断递归生成子树,直到满足终止条件
- 为了防止过拟合,限制模型的复杂度,通常都会通过剪枝(Pruning)来正则化决策树
三、CART算法(分类回归树)
林这里讲的很容易理解,可以参考:http://blog.csdn.net/u011067360/article/details/24871801?utm_source=tuicool&utm_medium=referral
- CART是只有两个分支的二叉树
- 根据“纯度”确定分支的条件。对于分类的通常选择GINI,对于连续的目标变量可以使用LSD或者LAD。
GINI指数:介于0~1之间的数,0-完全相等,1-完全不等。总体内包含的类别越杂乱,GINI指数就越大(和熵的概念类似)。

- 根据GINI找到最佳的待切分特征
- 如果该节点不能再分,将该节点存为叶节点
- 执行二元切分
- 在右子树递归调用createTree()方法,创建子树
- 在右子树递归调用createTree()方法,创建子树
四、CART和AdaBoost元算法应用比较
CART相比AdaBoost的效率会高一些,因为前者是“有条件的切”,后者是完全的“横、竖”。

五、CART实践中的特点

机器学习技法-决策树和CART分类回归树构建算法的更多相关文章
- 决策树的剪枝,分类回归树CART
决策树的剪枝 决策树为什么要剪枝?原因就是避免决策树“过拟合”样本.前面的算法生成的决策树非常的详细而庞大,每个属性都被详细地加以考虑,决策树的树叶节点所覆盖的训练样本都是“纯”的.因此用这个决策树来 ...
- 机器学习之分类回归树(python实现CART)
之前有文章介绍过决策树(ID3).简单回顾一下:ID3每次选取最佳特征来分割数据,这个最佳特征的判断原则是通过信息增益来实现的.按照某种特征切分数据后,该特征在以后切分数据集时就不再使用,因此存在切分 ...
- 秒懂机器学习---分类回归树CART
秒懂机器学习---分类回归树CART 一.总结 一句话总结: 用决策树来模拟分类和预测,那些人还真是聪明:其实也还好吧,都精通的话想一想,混一混就好了 用决策树模拟分类和预测的过程:就是对集合进行归类 ...
- CART决策树(分类回归树)分析及应用建模
一.CART决策树模型概述(Classification And Regression Trees) 决策树是使用类似于一棵树的结构来表示类的划分,树的构建可以看成是变量(属性)选择的过程,内部节 ...
- 分类回归树(CART)
概要 本部分介绍 CART,是一种非常重要的机器学习算法. 基本原理 CART 全称为 Classification And Regression Trees,即分类回归树.顾名思义,该算法既 ...
- 利用CART算法建立分类回归树
常见的一种决策树算法是ID3,ID3的做法是每次选择当前最佳的特征来分割数据,并按照该特征所有可能取值来切分,也就是说,如果一个特征有四种取值,那么数据将被切分成4份,一旦按某特征切分后,该特征在之后 ...
- 分类-回归树模型(CART)在R语言中的实现
分类-回归树模型(CART)在R语言中的实现 CART模型 ,即Classification And Regression Trees.它和一般回归分析类似,是用来对变量进行解释和预测的工具,也是数据 ...
- CART(分类回归树)
1.简单介绍 线性回归方法可以有效的拟合所有样本点(局部加权线性回归除外).当数据拥有众多特征并且特征之间关系十分复杂时,构建全局模型的想法一个是困难一个是笨拙.此外,实际中很多问题为非线性的,例如常 ...
- 连续值的CART(分类回归树)原理和实现
上一篇我们学习和实现了CART(分类回归树),不过主要是针对离散值的分类实现,下面我们来看下连续值的cart分类树如何实现 思考连续值和离散值的不同之处: 二分子树的时候不同:离散值需要求出最优的两个 ...
随机推荐
- ArrayAdapter适配器的用法,模拟QQ发消息界面。
import java.util.ArrayList; import android.app.Activity; import android.content.Context; import andr ...
- hdu 4627 The Unsolvable Problem
http://acm.hdu.edu.cn/showproblem.php?pid=4627 分类讨论一下就可以 代码: #include<iostream> #include<cs ...
- 【Noip2012】解题报告【字符】【贪心】【高精度】【倍增】【set】
目录:1:vigenere密码[字符]2:国王游戏[贪心][高精度]3:开车旅行[倍增][set] 题目: VJ P1778 vigenere密码 Accepted 标签:NOIP提高组2012 ...
- EL表达式中获取list长度
在jsp页面中不能通过${list.size}取列表长度,而是 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" pref ...
- 远程连接Windows2008R2时服务器报Terminal Services错误的解决办法
症状: 使用终端服务客户端连接到Windows Server2008 R2的机器时,如果客户端选项中选择了打印机(注1)时,它可能会在在系统事件日志中记录一个TerminalServices打印机错误 ...
- RPI学习--wiringpi_API
reference: https://projects.drogon.net/raspberry-pi/wiringpi/functions/ Functions (API) Some of the ...
- C++全局变量在多个源代码文件中的使用
在比较大的项目中,如果需要使用全局变量,那么就需要注意一些全局变量声明.使用不当引起的问题了. 本篇文章主要内容有两个:普通全局变量.静态全局变量.全局常量. 1.普通全局变量:假设我们需要在多个不同 ...
- Repeater控件的分页效果
<webdiyer:AspNetPager ID="AspNetPager1" runat="server" HorizontalAlign=" ...
- PAT 10-0 说反话
我写了两种实现方法,其中第二种是参考Yomman园友的(http://www.cnblogs.com/yomman/p/4271949.html).我的方法(方法一)是用一个数组存放输入的字符串,另一 ...
- Ogre中Mesh的加载过程详述
转自:http://blog.csdn.net/yanonsoftware/article/details/1031891 如果新开始写一个3D渲染引擎,Mesh应该是一个很好的切入点.当一个看似简单 ...