决策树对比

  • CART:
Classfication and Regression Tree  是分类/回归树,cart是一颗二叉树,分类标准是基尼指数
CART做回归数时,使用的是平方误差最小准则。
基尼系数:Gini(p) = sigma(每一个类)p(1-p)
回归树:属性值为连续实数。将整个输入空间划分为m快,每一块以其平均值作为输出。f(x)=sigma(每一块)CM*l(x属于RM)
  • 回归树的生成:
选取切分变量和切分点,将输入空间分为两份。
每一份分别进行第一步,直到满足停止条件。
切分变量和切分点的选取:对于每一个变量进行遍历,从中选择切分点,选择一个切分点满足分类均方误差最小。然后在选出所有变量中最小分类误差最小的变量作为切分,

分类树:属性值为离散值
  • 分类树的生成
根据每一个属性的每一个取值,是否取该值将样本分成两类,计算基尼系数。选择基尼系数最小的特征和属性值,讲样本分成两份
递归调用1,直到无法分割。
  • ID3:
只是分类树,并不能用于回归,分类标准是信息增益;缺点:不能处理缺失值;
信息熵:H(x) = -sigma(对每一个x)(plogp)
H(Y|x) = sigma(对每一个x)pH(Y|X=xi)
信息增益:g(D,X)= H(D)-H(D|X) H(D)是整个数据集的熵

  • C4.5:
与ID3相同,只能用于分类,不能用于回归,分类标准是信息增益率;可以处理缺失值。可以使用众数,其他没有缺失值的概率,或者直接丢弃的方法。
信息增益率:(H(D)-H(D|X))/H(X)


  • C5.0:
C4.5的修订版,适用于处理大数据集,采用Boosting方式提高模型的准确率,又称为BoostingTrees,计算速度快,内存资源占用少的有点。

  • 算法流程:
对每一个属性值计算信息增益,若信息增益小于阈值,则将该支置为叶节点,选择其中个数最多的类标签作为该类的标签,否则,选择其中最大的最为分类属性。
若各个分支中都只含有同一类数据,则置为叶节点,否则1.
  • 决策树剪枝策略:
预剪枝:树提前停止生长
后剪枝:完全生成以后减去一些子树提高预测准确率
降低错误率剪枝:自下而上对每一个内部结点比较减去其为叶节点和子树的准确率。如果减去准确率提高,则减去,一次类推直到准确率不在提高。

  • 代价复杂度剪枝:
从原始决策树T0开始生成一个子树序列{T0、T1、、、Tn},其中Ti+1总是从Ti产生,Tn为根节点。每次均从Ti中减去具有最小误差增长率的子树。然后通过交叉验证比较序列中个子树的效果选择最有的决策树。

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