机器学习:对决策树剪枝

本文探讨了决策树在训练数据集上100%准确率并不一定意味着测试集表现良好,原因是过度拟合。文章详细介绍了决策树剪枝的原因和方法,包括预剪枝和后剪枝策略,以及在sklearn中实现决策树的可视化和剪枝参数设置。最后,文章预告了决策树在回归任务中的应用和避免过拟合的方法。
摘要由CSDN通过智能技术生成

        

昨天推送中介绍了决策树的基本思想,包括从众多特征中找出最佳的分裂点,刚开始大家都是用选择这个特征后带来的信息增益为基本方法,后来发现它存在一个严重的bug,因此提出来了信息增益率(即还要除以分裂出来的那些节点对应的自身熵的和),再后来,又提出来一个与熵概念类似的基尼系数,根据这些理论和训练数据可以构建出一颗大树了。但是这颗大树的泛化能力一般,需要进行剪枝操作才能提升泛化能力,那么常用的剪枝策略都有哪些呢。


01 这真的好吗?

一个在训练数据集上可以取得100%的准确率的分类器,一定很好吗?未必好,因为它在测试集上的测试结果未必好,又因为分类器的好坏最重要的是要看在测试集上的表现效果。


那么问题来了,为什么它在测试集上的效果就不好呢? 试想这样一种极端情况,我们手上有100个水果,其中包括三类:香蕉,苹果,杏,它们常用的区分特征比如:形状,大小,外观等,假如我们启用了一个非常特殊的特征,恰好把这100个水果样本对应到了100个叶子节点,也就是说每个叶子都还有唯一的一个样本,这在训练集上的准确率一定是100%呀,但是在测试集上呢,第101个水果在这个极其特殊的特征上,都有可能不在原100个特征取值内,所以你根本找不到它的对应,所以它不属于这100个叶子中之一。 


当然,这个极端的例子虽然未必能在实际训练测试中遇到,但是它却很好的解释了选择合适的特征,并且避免叶子节点过多,同时防止过多的叶子节点包含的样本数过少的现象,才是决策树在测试集上表现良好的重要考量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值