机器学习技法-决策树和CART分类回归树构建算法

课程地址:https://class.coursera.org/ntumltwo-002/lecture

重要!重要!重要~

image

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

image

  • Bagging和AdaBoost算法再分类的时候,是让所有的弱分类器同时发挥作用。它们之间的区别每个弱分离器是否对后来的blending生成G有相同的权重。
  • Decision Tree是一种有条件的融合算法,每次只能根据条件让某个分类器发挥作用。

二、基本决策树算法

1.用递归的视角来看决策树,根据特征选择分支条件,不断的生成子树,所有的子数组成了最后的决策树。

例如下面根据回家时间、约会情况、作业的deadline的特征,生成决策树,预测是否会观看mooc在线课程。

 image

2.基本的决策树算法描述

  • 确定分支条件。分支条件可以由人来确定,也可以由算法生成
  • 根据分支条件划分训练数据D
  • 根据分支条件不断递归生成子树,直到满足终止条件
  • 为了防止过拟合,限制模型的复杂度,通常都会通过剪枝(Pruning)来正则化决策树
image

三、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指数就越大(和熵的概念类似)。

image

  1. 根据GINI找到最佳的待切分特征
  2. 如果该节点不能再分,将该节点存为叶节点
  3. 执行二元切分
  4. 在右子树递归调用createTree()方法,创建子树
  5. 在右子树递归调用createTree()方法,创建子树

四、CART和AdaBoost元算法应用比较

CART相比AdaBoost的效率会高一些,因为前者是“有条件的切”,后者是完全的“横、竖”。

image

五、CART实践中的特点

image

 

posted @ 2016-04-04 20:28  wxquare  阅读(7969)  评论(0编辑  收藏  举报