决策树 C4.5算法

C4.5算法

C4.5算法

  • C4.5 算法是 Ross 对ID3 算法的改进
  • 用信息增益率来选择属性。ID3选择属性用的是子树的信息增益而C4.5用的是信息增益率
  • 在决策树构造过程中进行剪枝
  • 对非离散数据也能处理
  • 能够对不完整数据进行处理

信息增益比(C4.5)

g R ( D , A ) = g ( D , A ) H ( D ) g_{R}(D, A)=\frac{g(D, A)}{H(D)} gR(D,A)=H(D)g(D,A)

其中, g ( D , A ) g(D,A) g(D,A)是信息增益, H ( D ) H(D) H(D)是数据集 D D D的熵。

C4.5剪枝

预剪枝 (prepruning)

  • 防止过拟合
  • 剪枝策略在节点划分前来确定是否继续增长,及早停止增长,主要方法:
    • 节点内数据样本低于某一闽值
    • 所有节点特征都已分裂
    • 节点划分前准确率比划分后准确率高

后剪枝

在已经生成的决策树上进行剪枝,从而得到简化版的剪枝决策树.

  • C4.5 采用的悲观剪枝方法,用递归的方式从低往上针对每一个非叶子节点,评估用一个最佳叶子节点去代替这课子树是否有益。如果剪枝后与剪枝前相比其错误率是保持或者下降,则这棵子树就可以被替换掉。
  • C4.5 通过训练数据集上的错误分类数量来估算未知样本上的错误率
  • 后剪枝决策树的欠拟合风险很小,泛化性能往往优于预剪枝决策树

C4.5算法的缺点

  • C4.5 用的是多又树,用二又树效率更高
  • C4.5 只能用于分类
  • C4.5 使用的焰模型拥有大量耗时的对数运算,连续值还有排序运算C4.5 在构造树的过程中,对数值属性值需要按照其大小进行排序,从中选择一个分割点,所以只适合于能够驻留于内存的数据集,当训练集大得无法在内存容纳时,程序无法运行。

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