• 机器学习技法-决策树和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

     

  • 相关阅读:
    JS高级程序设计 第三章笔记
    JS高级程序设计第二章
    JS高级程序设计 第一章读书笔记
    markdown 尝试
    实验九
    第六章总结
    实验五
    第五章总结
    实验四
    实验三
  • 原文地址:https://www.cnblogs.com/wxquare/p/5352795.html
Copyright © 2020-2023  润新知