抽取原理的案例_终于,这篇文章把决策树的原理讲明白了:熵、信息增益、基尼系数…(深度长文)...

决策树由一个根节点、若干个内部节点和叶节点构成,其中,叶节点对应决策结果,其他节点(根节点、内部节点)对应属性判断规则。决策树本质上是一层一层地根据条件递归做判断。

决策树既可以应用于分类任务,也可用于回归任务,具体是用于分类任务还是回归任务,主要取决于目标变量的连续性。如果目标变量为离散变量,则为分类;如果目标变量为连续变量,则为回归。

由于对应决策过程易于可视化、可同时应用于分类和回归任务、可处理大规模数据集等优点,决策树至今仍是监督式学习中应用最广泛的模型之一。

决策树究竟是如何做判断的呢?

案例

已知100个人的身高、体重,并且知道其中有60名男性、40名女性。先需要根据词数据集构造决策树,用于仅根据身高和体重两个属性判断是每个人的性别。

根据男女身高和体重的额差异,可能会问这个人的身高是否超过170cm或者体重是否超过60kg。根据上述过程,可以绘制如下图所示的决策树。其中,图1先根据身高判断,图2先根据体重判断。

f99bdae20f9f204f7485296615e06316.png

14da38e908da84684c80d4abc1315baa.png

以上两种判断过程,哪一种更合理呢?也就是按什么样的特征顺序进行划分,才能找到最纯净的划分(叶节点)?这就是决策树原理中最重要的一个方面:特征属性的重要性,即找出最能区别样本数据集的属性,作为优先判断条件,从而提高决策树的纯度。

01 树的纯度与特征属性重要性

目前,用于衡量树的纯度的方法有三种,纯度的的相反面是不纯度,不纯度越低,即纯度越高。下面是衡量决策树(不)纯度的三种算法。

(1) ID3算法:使用信息增益作为分裂规则;

(2) C4.5算法:使用信息增益率作为分类规则;

(3) CART算法:使用基尼系数作为分裂规则。

1. ID3算法:熵、信息增益

介绍信息增益之前,首先介绍一下熵的概念,这是一个物理学概念,表示“一个系统的混乱程度”。熵越小,系统的不确定性越低,纯度越高。

表示样本集合D中第i类样本所占的比例,那么这个集合的熵表示为:

8d25e4125ceb40632350029299582f90.png

一种分类下整体的熵:

dc8d9d8691cca61cc44b642844db6517.png

,其中k表示整体最终要分类的个数

特征属性A的熵:

fbf1ae5cca1102139f61e96eba833f96.png

,其中V表示特征属性A取值的个数

特征A的信息增益:

3592bbf314deb25a46a479335f44053b.png

,其中V表示特征属性A取值的个数

在上述案例中,

A. 先按身高分类:

d7d8eca848d7c09f27b5667e977f0f48.png

按身高分类整体的熵为:

75936f49e5e0fcadca4a8cafc21af89f.png

身高的熵为:

872bbd92ea8415e9ebedddccdb6ba159.png

身高的信息增益为:

2641dd942134157e23dcbd81726193ac.png

B. 先按体重分类

d8dcbbe5dfdcb710a03fed2c7d0f43d6.png

根据公式可得,体重的信息增益为0.10241。

身高的信息增益大于体重的信息增益,所以首先应按身高划分,将身高作为根节点。由于此例中只有两个属性,故不再需要比较其他属性的信息增益。

如果有多个属性,则在确定根节点以后,将根节点的分类结果作为整体分类结果,根据同样的算法比较其他属性的信息增益,挑选信息增益最大的属性作为第二个划分的节点。

●2. C4.5算法(信息增益率)

在ID3算法中,显然属性的取值越多,信息增益越大。为了避免属性取值个数的影响, C4.5算法从候选划分中找出信息增益高于平均水平的属性,再从中选出信息增益率(用信息增益除以该属性本身的固有值Intrinsic value)最高的分类作为分裂规则。

为了克服属性本身取值增多造成信息增益增大的缺陷,引入属性本身固有值:

02bf4f33219dc837fae8a68aedfcd3ec.png

在上述案例中:

身高特征本身固有值为

7e7dc19abfd4c079347e9eb68379639d.png

身高特征的信息增益率为

a470dc3dc90f41e73a5064cbcba7768e.png

体重特征的信息增益率为

af49ee8fe697002e9fa76800fcc8dca7.png

根据信息增益率判断,身高仍然作为最重要的划分属性。由于身高和体重两个特征的取值个数相等,且本例中属性固有值在数值上刚好相等,故根据信息增益率的判断结果与根据信息增益的判断结果是相同的。

●3. 基尼系数

CART(Classification and Regression Tree)算法使用基尼系数作为分裂规则,选择Gini系数减少最快的分裂规则,最小化不纯度。CART算法既可以用分类任务,也可用于回归任务。

数据集D的基尼系数Gini(D)反映了从数据集D中随机抽取两个样本,其类别标记不一致的概率,因此Gini(D)越小,则数据集D的纯度越高。

9bd657c285546ca35f82b5dd0fb5c549.png

特征属性a的基尼系数定义为

c54c3684460df61b7d0e6d3c80de5f26.png

在上述案例中,数据集D的基尼系数为:

f813c41997217a1c1cdefcafed03b558.png

身高的基尼系数为:

9285506642a9ed83321d85ad3cd66e7b.png

体重的基尼系数为:

0b811150593d3b9830e5c6096778f356.png

根据基尼系数最小原则,将身高作为根节点属性(这与根据信息增益得到的结论相同)。

决策树主要优缺点:

优点:

1. 可同时用于分类和回归任务,且可以处理多分类问题;

2. 不需要归一化,减少了数据预处理工作;

3. 自动筛选变量,容易解释和可视化决策过程;

4. 适合处理高维度数据。

缺点:

1. 不稳定,泛化性能差;

2. 没有考虑变量之间的相关性,每次筛选都只考虑一个变量;

3. 只能线性分割数据;

4. 本质上是贪婪算法(可能找不到最优的树)。

02 控制树的深度(剪枝)

根据决策树的原理,如果把每一个样本编号,那么将编号作为一个属性,则每个个体都可以独自分为一类,这样本质上相当于没有分类,也不能泛化到其他数据集,也就是常说的过拟合。

为了防止过拟合,需要控制决策树的广度与深度,即对决策树进行剪枝。

剪枝可分为预剪枝和后剪枝:

预剪枝,在对每一个节点包含的样本进行分类前,比较分类前后的测试集预测的精确率(precision=TP/TP+FP,即正确预测为正与全部预测为正的比率)。

预剪枝的优缺点:

优点:使得决策树的部分分支没有展开,降低了过拟合的风险,节省了训练时间;缺点:有可能出现欠拟合。

后剪枝,在完全构建成一个决策树后,在从叶节点开始,从下往上判断是否需要剪掉叶节点,将原来的内部节点变为叶节点。判断的基础仍然为测试集预测的精确率。

后剪枝的优缺点:

优点:欠拟合风险很小,泛化性能也较高;

缺点:训练时间比预剪枝长。

经过特征重要性选择和树的剪枝,我们基本可以得到一颗效果不错的决策树了。但一颗决策树虽然易于可视化和讲给老板和同事听,但准确度并不一定是最高的。为了提高决策树的精确度,可以用多棵树共同判断,即随机森林。

关于随机森林的原理,下期见!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值