机器学习——决策树的剪枝

一、决策树剪枝

1.为什么要进行剪枝?

原因:上一篇博客是使用ID算法构建的决策树,而ID3算法构建的决策树可能存在以下问题:
① 不能对连续数据进行处理,只能通过连续数据离散化进行处理;
② 采用信息增益容易偏向取值较多的特征,准确率不如信息增益率;
③没有采用剪枝,决策树的结构可能过于复杂,容易出现过拟合。

2.什么是剪枝?

概念:剪枝主要是解决决策树出现的“过拟合”现象。剪枝就是通过某种判断,避免一些不必要的遍历过程。剪枝剪枝又分为预剪枝和后剪枝。

预剪枝:预剪枝,就是将即将发芽的分支“扼杀在萌芽状态”即在分支划分前就进行剪枝判断,如果判断结果是需要剪枝,则不进行该分支划分。

后剪枝(自底向上):在分支划分之后,通常是决策树的各个判断分支已经形成后,才开始进行剪枝判断。

二、代码实现

1.数据集准备:在上一篇文章的数据下改进新的数据集:

动物名称 食性 毛发 生活环境 哺乳动物
猫科 短毛 草原
爬行 森林
爬行 水里
两栖 多毛 草原
两栖 短毛 草原
猫科 多毛 森林
两栖 森林
两栖 水里
飞行 水里
爬行 水里
飞行 短毛 森林
爬行 森林
猫科 森林
爬行 水里
飞行 森林
两栖 水里
两栖 短毛 草原
猫科 多毛 草原
飞行 杂食 短毛 海边

2.没有剪枝前的决策树

#树的可视化

decisionNodeStyle = dict(boxstyle="sawtooth"
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值