决策树算法学习及实践

决策树算法学习及实践

  •   代码

ID3:https://blog.csdn.net/weixin_38273255/article/details/88981748

C4.5:https://blog.csdn.net/weixin_38273255/article/details/88981925

CART:https://blog.csdn.net/weixin_38273255/article/details/88792177

 

  • 原理学习

决策树主要是通过已有数据建立决策树,然后根据建立的决策树来进行预测分析。从根节点开始,对数据进行分割→在众多属性中选择一个收益最大的属性将根节点分裂为众多子节点→最后根据一定的条件停止分裂。其中重点就在于分裂属性的选择。分为信息增益(熵和Gini)、信息增益率三种,分别对应了三种决策树建立算法:ID3、CART、C4.5。

  • 实验结果

数据集使用的是iris数据集,分别对ID3、C4.5和CART三种算法进行试验。

因为ID3和C4.5两个算法实现起来比较相似,首先对ID3和C4.5两个算法做了实现。两者的差别就在于对于分裂属性的选择上,一个采用的是信息增益熵,一个采用的是信息增益率。因为处理的数据集需要是离散的,所以将数据做了离散化。将每个维度的数据排序,按大小等分为了七个区间(尝试了少几个区间,但是发现无法充分利用特征)。因为直接加载的iris数据是连续的,所以将加载的数据进行了打乱,选取前100作为生成决策树的数据,后50作为测试数据。生成树如图1和图2所示,分别是ID3和C4.5的决策树,两个的测试准确率分别为0.96和0.9。

          

                                              图1  ID3-0.96

 

                                           图2  C4.5-0.9

该算法与前两个算法的差异在于其选择分裂点事使用Gini值进行选择的,Gini值与之前的ID3的增益熵都是信息增益的一种。右图则是CART算法的实现,算法的实现选择使用的python的sklearn模块实现,数据集也采用的是iris数据集。

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值