决策树
依据特征划分的树状图。决策树包括特征、类别和层数。分别对应非叶子节点、叶子节点和层数。
不同的特征选择(包括顺序和数量)会得到不同的决策树。
决策树的层数直接对应了模型的复杂度。
每个节点尽量只包含一种类别,这种决策树也称为最纯的决策树。
只有一层的决策树,也称为决策树桩(Decision Stump)。
基尼系数
基尼系数(Gini index):
G
i
n
i
(
p
)
=
2
p
(
1
−
p
)
Gini(p)=2p(1-p)
Gini(p)=2p(1−p)
使用基尼系数来判定特征使用的顺序。
其一般形式表示为:
G i n i ( p ) = ∑ i p i ( 1 − p i ) = 1 − ∑ i p i 2 Gini(p)=\sum_{i}p_i(1-p_i)=1-\sum_{i}p_i^2 Gini(p)=∑ipi(1−pi)=1−∑ipi2
其 中 p i 是 各 个 类 别 的 占 比 . 其中p_i是各个类别的占比. 其中pi是各个类别的占比.
CART 算法
以相邻特征值进行二分的算法就称为 CART 算法(Classification And Regression Tree)。
不光可以对连续的的特征值进行二分,对离散的可以同样的处理。
预剪枝与后减枝
我们可以根据情况设定一个超参数 α \alpha α,在当前节点的基尼系数低于 α \alpha α时,就可以停止划分,防止模型复杂度不断升高。这种对决策树层数的控制就称为剪枝(pruning)。
另一种剪枝策略,设定一个超参数
β
\beta
β,当划分后收益没有超过
β
\beta
β就撤回划分.
前面两种算法都是边划分边剪枝,这称为预剪枝(Pre-Pruning)。也可以划分好了之后再去剪枝,这就是后剪枝(Post-Pruning).
预剪枝一旦遇到基尼系数减小较少就不再往下细分,有可能导致后面可能出现的好的划分被忽略掉了,从而造成模型的复杂度太低,最终发生欠拟合。
后剪枝不会出现这样的问题,所以在实际应用中,后剪枝是更常见的。其缺点是计算量较大。
回归树
最终预测的是连续值,则此时的决策树又称为回归树(regression tree)。
分类树已基尼系数来判定划分的合理性,而回归数已差的平方和来判定划分的合理性。
最后预测时,采用平均值来预测。