机器学习笔记-决策树

author author     2022-08-03     622

关键词:

决策树(Decision Tree)

决策树学习,建立一颗树结构的模型。此模型由一系列逻辑决策构成。在此结构中决策点代表某个属性上的决策,分支表示决策选择项,树的叶子节点是一系列联合决策的结论。

决策树通过分而治之(Divide and conquer)方式-递归划分(recurisive partitioning)来建立。在这个建立过程中,我们从代表所有数据的根节点出发,选择通向目标分类的特性把样本拆分成不同的组,如此直至触及停止标准。有几类停止标准, 节点上的所有或几乎所有的样本都是属于同一类;没有特征能对样本进行继续分类了;树已经触及预定义的大小限制.

决策树算法:

a. C5.0

优点缺点
适用于大多数情况的多用途分类器
模型偏向于具有大量层级的特征
高自动化学习过程,可以处理数据跟名词性特征以及确实数据容易过拟合(overfit)与欠拟合(underfit)
只需用到重要特征由于基于axis-parallel建模一些关系时会比较棘手
适用于训练样本相不少或是很大的情况训练数据小的改变会很大地改变决策逻辑
生成相对小的树,对树的解释不需要大量的数学背景。大的树难于理解,达成不直觉的决策。
性比其它复杂的模型,这个更有效

  建立决策树面对的第一个挑战就是从哪个特征着手进行切分。如果我们切分出来的分段数据仅包含一类数据,那我们说这个“一致”(Pure)的。 

  在C5.0里我们用熵(entropy)来衡量一致性。熵为0则表示样本是完全同质的。熵为1则表示完全无序。

             c 

    Entropy(S) = Σ  -Plog2(Pi)

             i=1

熵计算公式中各个部分的意义如下。在一个分段S上有c个类层次。Pi是第i个类层次的占比。

  有了一致性衡量的熵,我们就可以来解决如何拆分样本。这里就得说到信息增益(Information Gain)

    InfoGain(F) = Entropy(S1) - Entropy(S2)

信息增益就是样本拆分前后的熵的差值。拆分后的熵的计算公式如下:

                   n 

    Entropy(S) = Σ  wi Entropy(Pi)

              i=1

这个就是拆分后各部分的熵Entropy(Pi)如这一部分在总样本中所占比的乘积的总和。

信息增益越高表明分拆越有效。

当树膨胀到一定大小后会导致决策过于特殊化, 得出的模型过拟合。克服此现象的做法有pre-pruning跟post-pruning。 pre-pruning就是当决策点达到某个量时或者决策节点中只包含少量样本是就停止树的构建。pre-pruning无法预知会不会遗漏掉某些细微的但是有相当重要的模式。

pre-pruning之外的另一个方法就是post-pruning。当树构建的相当大后,我们用某些基于误码率的修剪标准来修建树。这个方式通常比pre-pruning更有效。

在post-pruning的过程有连个可能的处理,一个是子树提升(subtree raising),还有一个是子树置换(subtree replacement)

C5.0很容易通过调整训练选项来在过拟合跟欠拟合间达成平衡。

C5.0比C4.5增加了自适应增强(adaptive boosting).前一个分类器分错的样本会被用来训练下一个分类器。AdaBoost方法对于噪声数据和异常数据很敏感。但在一些问题中,AdaBoost方法相对于大多数其它学习算法而言,不会很容易出现过拟合现象。AdaBoost方法中使用的分类器可能很弱(比如出现很大错误率),但只要它的分类效果比随机好一点(比如两类问题分类错误率略小于0.5),就能够改善最终得到的模型。而错误率高于随机分类器的弱分类器也是有用的,因为在最终得到的多个分类器的线性组合中,可以给它们赋予负系数,同样也能提升分类效果。

除了自适应增强,C5.0还可以提供一个成本矩阵(cost matrix)来修正模型。


http://sjchen.im.nuu.edu.tw/MachineLearning/final/CLS_DT.pdf


学习笔记|机器学习决策树

文章目录一、算法原理二、基础知识1.自信息、信息熵与条件熵2.信息增益和增益率3.Gini值和Gini指数三、过拟合与剪枝四、连续值和缺失值处理1.连续值处理2.缺失值处理五、总结通过这篇博客,您将收获如下知识:熟悉决策树相... 查看详情

学习笔记|机器学习决策树

文章目录一、算法原理二、基础知识1.自信息、信息熵与条件熵2.信息增益和增益率3.Gini值和Gini指数三、过拟合与剪枝四、连续值和缺失值处理1.连续值处理2.缺失值处理五、总结通过这篇博客,您将收获如下知识:熟悉决策树相... 查看详情

《机器学习》(周志华)第4章决策树笔记理论及实现——“西瓜树”——cart决策树

CART决策树(一)《机器学习》(周志华)第4章决策树笔记理论及实现——“西瓜树”参照上一篇ID3算法实现的决策树(点击上面链接直达),进一步实现CART决策树。其实只需要改动很小的一部分就可以了,把原先计算信息熵和... 查看详情

机器学习笔记-监督学习之决策树

0机器学习中分类和预测算法的评估:准确率速度健壮性可规模性可解释性1决策树(判定树)的概念  决策树是一个类似于流程图的树结构(可以是二叉树或多叉树):其中,每个内部结点表示在一个属性上的测试,每个分支... 查看详情

机器学习实战笔记--决策树

tree.py代码1#encoding:utf-82frommathimportlog3importoperator4importtreePlotterastp567defcreateDataSet():#简单测试数据创建8dataSet=[[1,1,‘yes‘],9[1,1,‘yes‘],10[1,0,‘no‘],11[0,1,‘no‘],12[0,1,‘no‘]]13labels=[‘nosu 查看详情

《机器学习》(周志华)第4章决策树笔记理论及实现——“西瓜树”

参考书籍:《机器学习》(周志华)说   明:本篇内容为读书笔记,主要参考教材为《机器学习》(周志华)。详细内容请参阅书籍——第4章决策树。部分内容参考网络资源,在此感谢所有原创者的工作。======... 查看详情

机器学习实战笔记-决策树

图3-1所示的流程图就是一个决策树,正方形代表判断模块(decisionblock),椭圆形代表终止模块(terminatingblock),表示已经得出结论,可以终止运行。从判断模块引出的左右箭头称作分支(branch),它可以到达另一个判断模块或者终止模... 查看详情

详解决策树-剪枝十分钟机器学习系列笔记

 决策树生成算法递归地产生决策树,直到不等你继续下去为止。这样产生的树往往对训练数据的分类很准确,但对未知的测试数据的分类却没有那么准确,模型结构过于复杂,即出现过拟合现象直接来看优秀的决策树一般要求... 查看详情

机器学习笔记之三cart分类与回归树

本文结构:CART算法有两步回归树的生成分类树的生成剪枝CART-ClassificationandRegressionTrees分类与回归树,是二叉树,可以用于分类,也可以用于回归问题,最先由Breiman等提出。分类树的输出是样本的类别,回归树的输出是一个实... 查看详情

机器学习笔记(代码片段)

机器学习笔记(四)文章目录机器学习笔记(四)线性判别分析多分类学习类别不平衡问题小总结决策树决策树的基本概念决策树的构造ID3算法C4.5算法CART算法线性判别分析线性判别分析(LinearDiscriminantAnalysis&... 查看详情

机器学习笔记(代码片段)

机器学习笔记(四)文章目录机器学习笔记(四)线性判别分析多分类学习类别不平衡问题小总结决策树决策树的基本概念决策树的构造ID3算法C4.5算法CART算法线性判别分析线性判别分析(LinearDiscriminantAnalysis&... 查看详情

机器学习笔记(代码片段)

机器学习笔记(四)文章目录机器学习笔记(四)线性判别分析多分类学习类别不平衡问题小总结决策树决策树的基本概念决策树的构造ID3算法C4.5算法CART算法线性判别分析线性判别分析(LinearDiscriminantAnalysis&... 查看详情

机器学习笔记(代码片段)

机器学习笔记(四)文章目录机器学习笔记(四)线性判别分析多分类学习类别不平衡问题小总结决策树决策树的基本概念决策树的构造ID3算法C4.5算法CART算法线性判别分析线性判别分析(LinearDiscriminantAnalysis&... 查看详情

机器学习--diy笔记与感悟--②决策树(代码片段)

在完成了K临近之后,今天我们开始下一个算法--->决策树算法。 一、决策树基础知识如果突然问你"有一个陌生人叫X,Ta今天需要带伞吗?",你一定会觉得这个问题就像告诉你"两千米外有一个超市,问超市里面有多少卷卫生纸"... 查看详情

机器学习-决策树和随机森林

这节课终于不是那么迷糊了,如果100分满分的话,听懂程度有70分了,初学者就是这么容易满足。:|老师说这是这20次课里最简单的一次。。。oh。。。no。不废话了,接着记笔记吧。CART:classsificationandregressiontree三种决策树:ID3... 查看详情

郑捷《机器学习算法原理与编程实践》学习笔记(第三章决策树的发展)_scikit-learn与回归树

  (上接第三章)   3.4Scikit-Learn与回归树  3.4.1回归算法原理  在预测中,CART使用最小剩余方差(squaredResidualsMinimization)来判断回归时的最优划分,这个准则期望划分之后的子树与样本点的误差方差最小。这样决策... 查看详情

机器学习算法之决策树(上)

信息熵决策树决策树优化剪枝决策树可视化决策树直观理解比特化(Bits) 查看详情

机器学习--决策树

...(DecisionTree)决策树是监督学习(supervisedlearning)的一种。机器学习中分类和预测算法的评估:1.准确率2.速度3.强壮型4.可规模性5.可解释性什么是决策树?决策树是一个类似于流程图的树结构:其中,每个内部节点表示在一个属性... 查看详情