机器学习算法的Python实现 (3):决策树剪枝处理

更新,经评论提醒,我发现自己搞错了比较根本的定义。CART决策树假设决策树是二叉树,这里给出的代码生成的决策树不是二叉树。所以下面的代码用”基于基尼指数生成的决策树“来形容更加适当一点。

-------------------------------------------


本文数据参照 机器学习-周志华 一书中的决策树一章。可作为此章课后习题4的答案

代码则参照《机器学习实战》一书的内容,并做了一些修改。


CART决策树 使用基尼指数(Gini Index)来选择划分属性。其公式如下:


本文内容包括未剪枝CART决策树、预剪枝CART决策树以及后剪枝决策树


本文使用的Python库包括

  • numpy
  • pandas
  • math
  • operator
  • matplotlib
  • copy
  • re

本文使用的数据如下
Idx color root knocks texture navel touch label
1 dark_green curl_up little_heavily distinct sinking hard_smooth 1
2 black curl_up heavily distinct sinking hard_smooth 1
3 black curl_up little_heavily distinct sinking hard_smooth 1
6 dark_green little_curl_up little_heavily distinct little_sinking soft_stick 1
7 black little_curl_up little_heavily little_blur little_sinking soft_stick 1
10 dark_green stiff clear distinct even soft_stick 0
14 light_white little_curl_up heavily little_blur sinking hard_smooth 0
15 black little_curl_up little_heavily distinct little_sinking soft_stick 0
16 light_white
  • 18
    点赞
  • 145
    收藏
    觉得还不错? 一键收藏
  • 17
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值