机器学习——决策树

一、决策树的构建

决策树是数据挖掘中最重要且最常用的方法之一.
在数据挖掘中,决策树主要有两种类型:分类树和回归树
分类树输出的是样本的类标。
回归树输出的是一个实数。

构建决策树是一个自顶向下的过程。从包含所有数据的根节点开始,根据选取分裂属性的属性值把训练集划分成不同的数据子集,生成由每个训练数据子集对应新的非叶子节点。对生成的非叶子节点再重复以上过程,直到满足特定的终止条件。

二、分裂属性的选择

分裂属性的选取是决策树生产过程中的关键,它决定了生成的决策树的性能、结构。分裂属性选择的评判标准是决策树算法之间的根本区别。

常用准测:信息增益信息增益率基尼指数
对应的算法分别为:ID3C4.5CART

几个概念:
纯度:让目标变量的分歧最小。
信息熵:表示信息的不确定度
信息熵公式:p(i|t) 代表了节点 t 为分类 i 的概率
在这里插入图片描述

a.当不确定性越大时,它所包含的信息量也就越大,信息熵也就越高。
b.信息熵越大,纯度越低。当集合中的所有样本均匀混合时,信息熵最大,纯度最低。

1、信息增益(ID3)

信息增益指的就是划分可以带来纯度的提高,信息熵的下降。它的计算公式,是父亲节点的信息熵减去所有子节点的信息熵。在计算的过程中,我们会计算每个子节点的归一化信息熵,即根据每个子节点在父节点中出现的概率,来计算这些子节点的信息熵。
ID3 要将信息增益最大的属性作为当前节点的分裂属性,这样可以得到纯度高的决策树

信息增益公式:在这里插入图片描述
ID3算法的优缺点
优点:构建决策树的速度比较快,算法实现简单,生成的规则容易理解。
缺点:在属性选择时,倾向于选择那些拥有多个属性值的属性作为分裂属性,而这些属性不一定是最佳分裂属性;不能处理属性值连续的属性;无修剪过程,无法对决策树进行优化,生成的决策树可能存在过度拟合的情况。

2、信息增益率(C4.5)

属性A信息增益率 = 属性A的信息增益 / 属性A的信息熵
信息增益率最大的属性即为当前节点的分裂属性

C4.5算法对连续型属性的离散化处理:当属性类型为离散型,无须对数据进行离散化处理;当属性类型为连续型,则需要对数据进行离散化处理。具体做法:将属性A的N个属性值按照升序排列;通过二分法将属性A的所有属性值分成两部分(共有N-1种划分方法,二分的阈值为相邻两个属性值的中间值);计算每种划分方法对应的信息增益,选取信息增益最大的划分方法的阈值作为属性A二分的阈值。

C4.5算法对缺失属性值的处理
情况1:在计算各属性的信息増益率时,某些样本的属性值未知。
处理方法:计算某属性的信息増益率时忽略掉缺失了此属性的样本;或者通过此属性的样本中出现频率最高的属性值,賦值给缺失了此属性的样本。
情况2:假设属性A已被选择作为决策树中的一个分支节点,在对样本集进行分支的时候,某些样本的属性A的值未知。
处理方法:不处理那些属性A未知的样本,即简单的忽略它们;或者根据属性A的其他样本的取值,来对未知样本进行赋值;或者为缺失属性A的样本单独创建一个分支,不过这种方式得到的决策树模型结点数显然要増加,使模型更加复杂了。
情况3:根据己经生成的决策树模型,对一个待分类的样本进行分类时,此样本的属性A的值未知。
处理方法:待分类样本在到达属性A的分支结点时即可结束分类过程,此样本所属类别为属性A的子树中概率最大的类别;或者把待分类样本的属性A赋予一个最常见的值,然后继续分类过程。

C4.5算法优缺点:
优点
(1)通过信息增益率选择分裂属性,克服了ID3算法中通过信息增益倾向于选择拥有多个属性值的属性作为分裂属性的不足;
(2)能够处理离散型和连续型的属性类型,即将连续型的属性进行离散化处理;
(3)构造决策树之后进行剪枝操作;
(4)能够处理具有缺失属性值的训练数据。
缺点
(1)算法的计算效率较低,特别是针对含有连续属性值的训练样本时表现的尤为突出。
(2)算法在选择分裂属性时没有考虑到条件属性间的相关性,只计算数据集中每一个条件属性与决策属性之间的期望信息,有可能影响到属性选择的正确性。

3、基尼指数(CART)

分类树——待预测结果为离散型数据:

选择具有最小Gain_GINI的属性,作为最优分裂属性。
Gain_GINI值越小,说明二分之后的子样本的“纯净度”越高,即说明选择该属性作为分裂属性的效果越好。
对于样本集S,GINI计算公式如下:Pk表示分类结果中第k个类别出现的频率。
在这里插入图片描述
对于含有N个样本的样本集S,根据属性A的第i个属性值,将数据集S划分成两部分,则划分成两部分之后,Gain_GINI计算公式如下: n1、n2分别为样本子集S1、S2的样本个数。
在这里插入图片描述
对于属性A,分别计算任意属性值将数据集划分成两部分之后的Gain_GINI,选取其中的最小值。为该属性的最优二分方案。
对于样本集S,计算所有属性的最优二分方案,选取其中的最小值,所得到的属性A及其第i属性值,即为样本集S的最优分裂属性以及最优分裂属性值。

回归树——待预测结果为连续型数据:

区别于分类树,回归树的待预测结果为连续型数据。同时,回归树选取Gain_σ为评价分裂属性的指标。选择具有最小Gain_σ的属性,作为最优分裂属性。Gain_σ值越小,说明二分之后的子样本的“差异性”越小,说明选择该属性作为分裂属性的效果越好。

含有连续型预测结果的样本集S,总方差计算公式:
在这里插入图片描述
μ表示样本集S中预测结果的均值,yk表示第k个样本预测结果。

对于含有N个样本的样本集S,根据属性A的第i个属性值,将数据集S划分成两部分,则划分成两部分之后,Gain_σ计算公式:
在这里插入图片描述
对于属性A,分别计算任意属性值将数据集划分成两部分之后的Gain_σ,选取其中的最小值,作为属性A的最优二分方案。
对于样本集S,计算所有属性的最优二分方案,选取其中的最小值,所得到的属性A及其第i属性值,即为样本集S的最优分裂属性值。

三、决策树的剪枝

1、PEP剪枝法
参考:https://blog.csdn.net/zhihua_oba/article/details/70632622
在这里插入图片描述
在这里插入图片描述

2、CCP剪枝法
参考:https://blog.csdn.net/zhihua_oba/article/details/72230427

代价复杂性剪枝法CCP主要包含两个步骤:
1、从原始决策树T0开始生成一个子树序列{T0,T1,…,Tn},其中,Ti+1从Ti产生,Tn为根节点。
2、从第1步产生的子树序列中,根据树的真实误差估计选择最佳决策树。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值