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

文章目录

  • ID3算法
  • C4.5算法
  • C5.0算法
  • CART算法
  • 参考文献

ID3算法

  • 是个多叉树
  • 信息增益作为分支依据
  • 对于具有很多值的属性它是非常敏感的,例如,如果我们数据集中的某个属性值对不同的样本基本上是不相同的,甚至更极端点,对于每个样本都是唯一的,如果我们用这个属性来划分数据集,它会得到很大的信息增益,但是,这样的结果并不是我们想要的。
  • ID3算法不能处理具有连续值的属性。
  • ID3算法不能处理属性具有缺失值的样本。
  • 由于按照上面的算法会生成很深的树,所有容易产生过拟合现象。

C4.5算法

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

  • 用信息增益率来选择作为分支依据
  • 在决策树的构造过程中对树进行剪枝
  • 对非离散数据也能处理
  • 能够对不完整数据进行处理

C5.0算法

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

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

CART算法

  • CART与C4.5算法是非常相似的,但是CART支持预测连续的值(回归)。

  • CART构建二叉树,而C4.5则不一定。

  • CART用训练集和交叉验证集不断地评估决策树的性能来修剪决策树,从而使训练误差和测试误差达到一个很好地平衡点。

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

参考文献

  1. https://blog.csdn.net/leaf_zizi/article/details/83380081
  2. https://blog.csdn.net/qq_27717921/article/details/74784400
  3. https://blog.csdn.net/xlinsist/article/details/51468741
  4. https://blog.csdn.net/E22644/article/details/87965778
  5. https://blog.csdn.net/weixin_39944595/article/details/110340066

你可能感兴趣的:(机器学习,决策树,机器学习,算法)