简述决策树的原理?
决策树学习的目的是为了产生一棵泛化能力强,即处理未见示例能力强的决策树,其基本流程遵循简单且直观地“分而治之”策略。
决策树学习的关键是选择最优划分属性。一般而言,随着划分过程不断进行,决策树的分支节点所包含的样本将趋近于同一类别,即节点的“纯度”越来越高。
衡量纯度的指标有:信息熵、增益率、基尼指数。
什么是ID3决策树?
ID3决策树是以信息增益为准则来选择划分属性,信息增益即代表选择某划分属性前后的信息熵的差值,信息增益越大,意味着该属性越适合被选择去划分。
什么是C4.5决策树?
C4.5决策树是以增益率为准则来选择划分属性,由于信息增益准则对可取值数目多的属性有所偏好,为减少这种偏好带来的不利影响,增益率被提出,其定义为:将信息增益比上一个固有值(随着取值数目的增多而增大的一个固定值)。但需要注意的是C4.5算法并不是直接选择增益率最大的属性,因为增益率准则对可取值数目较少的属性有偏好,C4.5算法先从候选属性中找出信息增益高于平均水平的属性,然后再从中选择增益率最高的。这是一个启发式的规则。
什么是CART决策树?
CART决策树使用“基尼指数”来选择划分属性,基尼指数反映了从数据集中随机抽取两个样本,其类别标记不一致的概率。选择基尼系数的原因是为了减少计算量,且易于理解。
决策树如何做回归?
首先,我们要明白,什么是回归树,什么是分类树。两者的区别在于样本输出,如果样本输出是离散值,那么这是一颗分类树。如果果样本输出是连续值,那么那么这是一颗回归树。
除了概念的不同,CART回归树和CART分类树的建立和预测的区别主要有下面两点:
1)连续值的处理方法不同
2)决策树建立后做预测的方式不同。
对于连续值的处理,我们知道CART分类树采用的是用基尼系数的大小来度量特征的各个划分点的优劣情况。但是对于回归模型,我们使用了常见的和方差的度量方式。CART回归树的度量目标是,对于任意划分特征A,对应的任意划分点s两边划分成的数据集D1和D2,求出使D1和D2各自集合的均方差最小,同时D1和D2的均方差之和最小所对应的特征和特征值划分点
对于决策树建立后做预测的方式,上面讲到了CART分类树采用叶子节点里概率最大的类别作为当前节点的预测类别。而回归树输出不是类别,它采用的是用最终叶子的均值或者中位数来预测输出结果。
决策树的缺点
1)决策树算法非常容易过拟合,导致泛化能力不强。可以通过设置节点最少样本数量和限制决策树深度来改进。
2)决策树会因为样本发生一点点的改动,就会导致树结构的剧烈改变。这个可以通过集成学习之类的方法解决。
3)寻找最优的决策树是一个NP难的问题,我们一般是通过启发式方法,容易陷入局部最优。可以通过集成学习之类的方法来改善。
4)有些比较复杂的关系,决策树很难学习,比如异或。这个就没有办法了,一般这种关系可以换神经网络分类方法来解决。
5)如果某些特征的样本比例过大,生成决策树容易偏向于这些特征。这个可以通过调节样本权重来改善。