ID3、C4.5、C5.0、CART决策树区别

ID3决策树

ID3选用使得信息增益最大的那个属性来划分样本

ID3算法缺点:

  • 倾向于使用属性值多的属性来划分样本
  • 不能处理具有连续值的属性。
  • 不能处理属性具有缺失值的样本。
  • 由于按照上面的算法会生成很深的树,所有容易产生过拟合现象。

由于上述缺点,如今没人再使用ID3,但是信息增益的概念是重要的。

C4.5算法

C4.5算法相对于ID3算法主要有以下几个改进:

  • 用信息增益比来选择属性
  • 在决策树的构造过程中对树进行剪枝
  • 对非离散数据也能处理
  • 能够处理具有缺失值的样本

C5.0算法

C5.0算法相对C4.5算法主要有以下几个改进:

  • 速度更快
  • 更高效的内存使用
  • 建立的决策树更小,C5.0获得的结果与C4.5非常相似,但构建了相当小的决策树。
  • 类似的精度:C5.0获得与C4.5类似的精度。
  • Boosting支持:提升可以使决策树更准确。
  • 加权:使用C5.0,您可以加权不同的属性和错误分类类型。C5.0可以构建分类器,以最大限度地减少预期的错误分类成本而不是错误率。
  • 风选:为了帮助降低噪音,C5.0会自动获取数据。风选是指在分类之前检查属性,忽略它找到的属性只是略微相关。

CART算法

CART(classification and regression tree)使用使得gini系数最小的那个属性来划分样本。

  • CART与C4.5算法是非常相似的,但是CART支持预测连续的值(即回归)。
  • CART构建二叉树,而C4.5则不一定。显然由于二叉树的原因使得CART5不会出现ID3的问题(倾向于选择属性值多的属性来划分样本)
  • CART用训练集和交叉验证集不断地评估决策树的性能来修剪决策树,从而使训练误差和测试误差达到一个很好地平衡点。

scikit-learn的实现为CART算法的最优版本,详细文档请参考:https://scikit-learn.org/stable/modules/tree.html

总结

有很多值的属性是否能处理缺失值处理数据类型是否剪枝
ID3敏感离散
C4.5不敏感离散、连续
C5.0不敏感离散、连续
CART不敏感离散、连续

参考文献

[1] https://blog.csdn.net/xlinsist/article/details/51468741
[2] https://blog.csdn.net/qq_27717921/article/details/74784400
[3] https://blog.csdn.net/gumpeng/article/details/51397737
[4] https://blog.csdn.net/leaf_zizi/article/details/83380081

原文地址:

https://blog.csdn.net/E22644/article/details/87965778
  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值