ID3的REP(Reduced Error Pruning)剪枝代码详细解释+周志华《机器学习》决策树图4.5、图4.6、图4.7绘制

处理数据对象:离散型数据
信息计算方式:熵
数据集:西瓜数据集2.0共17条数据
训练集(用来建立决策树):西瓜数据集2.0中的第1,2,3,6,7,10,14,15,16,17,4
请注意,书上说是10条,其实是上面列出的11条。
验证集(用来对决策树剪枝):西瓜数据集2.0中的5,8,9,11,12,13

注意:
上述训练集和验证集由书上特指,
不可自己随意更改建造决策树的训练集或剪枝用的验证集,否则出不来书上的效果


详细的代码解释可以直接看代码中的注释,本文不再赘述。
代码链接是:

https://github.com/appleyuchi/Decision_Tree_Prune/tree/master/ID3-REP-post_prune-Python-draw

效果如下:
未剪枝书上效果(周志华《机器学习》第81页):
在这里插入图片描述

代码运行效果(mode=prev)
在这里插入图片描述


预剪枝书上效果(周志华《机器学习》第81页):
在这里插入图片描述

代码运行效果(mode=prev):
在这里插入图片描述


后剪枝书上效果(周志华《机器学习》第83页)
在这里插入图片描述

代码运行结果(mode=post)
在这里插入图片描述


以上后剪枝类型为REP(Reduced Error Pruning),
后剪枝的目的:
提高对验证集的accuracy以及precision
运行代码可知:
剪枝前:accuracy=0.33
剪枝后:accuracy=0.66

评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值