赞
踩
更新,经评论提醒,我发现自己搞错了比较根本的定义。CART决策树假设决策树是二叉树,这里给出的代码生成的决策树不是二叉树。所以下面的代码用”基于基尼指数生成的决策树“来形容更加适当一点。
-------------------------------------------
本文数据参照 机器学习-周志华 一书中的决策树一章。可作为此章课后习题4的答案
代码则参照《机器学习实战》一书的内容,并做了一些修改。
CART决策树 使用基尼指数(Gini Index)来选择划分属性。其公式如下:
本文内容包括未剪枝CART决策树、预剪枝CART决策树以及后剪枝决策树
本文使用的Python库包括
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 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。