决策树剪枝西瓜书实现_西瓜书——第四章决策树

4.1基本流程

451287f938a7f48c0af814391cc72adf.png

决策树的生成是一个递归过程

4.2划分选择

上面流程中,关键在于第八步,而最优划分属性可以根据纯度也就是分支节点所包含的样本尽可能地同属一类。

*信息增益:

信息熵:

32ed2a1de27b543a8f8d6ef5238742c3.png

值越小,样本的纯度越高。其中|y|是第k类样本所占比例

信息增益:

e1aaaa152268807ccf4b56eade9079ae.png
信息增益越大,纯度提升就越大

例:

9f2454f1c096a0e015ace1a764caa485.png

先计算出信息熵:|y|=2,所以

8a6145d17b8189327c0478285342f16e.png

然后计算当前属性集合{色泽,根蒂,敲声,纹理,脐部,触感}中每一个属性的信息增益。

以色泽为例,其可能取值{青绿,乌黑,浅白}可以划分为三个子集D1{色泽=青绿},D2{色泽=乌黑},D3{色泽=浅白}。

D1中,正例比3/6,反例3/6;D2中正例6/4,反例2/6;D3中正例1/5,反例4/5.算出每一个子集的信息熵:

989bbdc524cb77fbb1e6770002a2d571.png

然后算出色泽的信息增益为:

0519eb669cd4e03d66a955c4c5c00a5e.png

类似的算出其他属性:

16e556f0f28426a63bfc2259b3b965c9.png

比较可得,纹理的信息增益最大,所以选择纹理作为划分属性。

0fbc7c1a6e4e7eabbdbcf206460e2ada.png

然后在依次算出每一个节点各属性的信息增益,以清晰为例:

efe721e16815fedfc383fd0b8fc2dd98.png

选择较大的三个钟任意作为下一个属性划分,最终得到:

b6677e36b16f8a74c4d5ebcb1b71cfdb.png

*增益率

b96e38b1d2d00379c7d9b55520bc2d2e.png

ae75899db96ebc45958db9f77b15ea16.png

*基尼指数

477be5e23a40fa4e634c7f8d757c8119.png

基尼指数越小,纯度越高

1710cffcfc8921e26257205f3f91846a.png

4.3 剪枝处理

剪枝处理是为了解决过拟合得问题。基本策略有预剪枝和后剪枝。

预剪枝:在决策树生成之前预判是否会提高树的泛化能力,不能则停止划分并将当前结点标记为叶节点。

后剪枝:先生成树,然后自底向上对非叶结点进行考查,若能提升泛化能力则将该子树替换为叶结点。

0c2913871f4f43cf9768994a16f51e35.png

判断决策树的泛化能力。采用留出法

*预剪枝

上面的为训练集,下面的为测试集。

930777cda19b909620c4c78a1e689cb4.png

5405a894d5f4c9b0a931d6efc70571f5.png

首先,根据信息增益将脐部作为根节点。预剪枝处理:首先判断不划时,将数量多的判为划分类别也就是该节点为好瓜,根据验证集可以看出精度为:3/7=42.9%;如果划分则精度为5/7=71.4%;比较可知需要划分。

根据图4.6,对子集2按照色泽划分判为禁止,对于3的最优属性也判为禁止。而子集4属性样例相同只有坏瓜所以不划分。那么,预剪枝可能会带来欠拟合的风险。

*后剪枝

首先生成一颗完整的树

930777cda19b909620c4c78a1e689cb4.png

该决策树精度为42.9%

观察结点6,若将其替换为叶结点,替换后包含编号{7,15},被标记为好瓜,此时验证集精度提高到57.1%。于是后剪枝策略觉得剪枝。

然后依次考虑结点5,2,3,4得到:

1e551bd06f2e2a106071ea1ce318a7ef.png

4.4 连续与缺失值

一般来说采用二分法。

划分点:

c1cca5d65c5583a5b5a8875b9767a274.png

划分后的信息增益:(一般选择增益最大的为最优划分点

7e689a19c7a9307052082402cf119f09.png

ba926d56353e14d7ea2ca80bb3e545ff.png

对于属性密度,算出其信息增益为0.262,对应划分点为0.381

对于含糖率,信息增益为0.349,划分点为0.126

通过比较可得

94310ddf1ca0c3d94464f736bf1111bc.png

*缺失值处理

5dcab76f0ceac883bd948f19b158fbc4.png

ebf184ccfe7868fc2073527056436e8a.png

4be379ea20e6e095b2107b762dbfd637.png

4a7e24203ea2ff723c5e6617e360eb9f.png

以色泽为例,无缺失值样例集{2,3,4,6,7,8,9,10,11,12,14,15,16,17},所以该样例集的信息熵为:

66b6cab8cf8104c93df31f7e3a2fa2b0.png

依次算出色泽属性取值为青绿,乌黑,浅白的熵:

b1b49f5e9bdd8ebb2467b535aaf2bb96.png

db3b56211717e0580f0472afabbe1a53.png

所以,色泽的信息增益为:

6055e4a890f65b2ac5064af0a07d9518.png

在整个样本集的色泽的信息增益为:

517760b5c600b89b197c3d92d0cde246.png

类似的算出:

59245020680dfbf54a05e8747bd9b27c.png

ece44733c94c34e7e531c514b772d970.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值