决策树简介

决策树最早是由Brieman等人一起提出的,“学名”可以被叫做连续递归切分的分类和回归树。顾名思义,就是用一种衡量标准去衡量每个变量在当前的数据集上的表现,并以此找到最佳表现的变量最为切分点,生成子树,并连续递归的切分下去,应用在分类或是回归问题当中,到后来还衍生出了随机深林,提升树,还有国人发现的XGBoost方法。

不纯度(impurity)

不纯度是主衡量变量在数据集上表现的重要指标。常见的有信息增益、基尼系数(Gini index)作为特征选取的指标。

  • 信息增益:用熵(entropy)来衡量数据集、切分后的数据集中的所包含信息量。两者相减定义为信息增益,表示为特征对数据集的不纯度的减少的程度。信息增益越大说明特征具有更好的分类能力。

    $g(D,A)$ 为数据集 $D$ 对特征A的信息增益;$H(D)$ 是数据集的熵;$H(D_i)$ 是数据集 $D_i$ 的熵;$H(D|A)$ 是数据集 $D$ 对特征 $A$ 的条件熵;$D_i$ 是 $D$ 中特征 $A$ 取第 $i$ 个值时的样本子集;$C_k$ 是 $D$ 中属于第 $k$ 类的样本集;$n$ 是特征 $A$ 取值的个数;$K$ 是类的个数。

  • 基尼系数(Gini index):$Gini(D,A)$ 表示为数据集 $D$ 被特征 $A$ 切分后的不纯度。基尼系数越大说明当前数据集的不纯度越大。我们需要选择找到基尼系数最小的特征作为最优特征。

    $C_k$ 是 $D$ 中属于第 $k$ 类的样本集;$n$ 是特征 $A$ 取值的个数;$K$ 是类的个数

剪枝(pruning)

由于连续递归的切分下去,会生成一棵完全树,会存在过拟合的问题,会过分在意噪点数据。为了削弱影响,需要进行剪枝,使树变得简单一点,从而对未知数据有更准确的预测。

  • 基本想法是用一个损失函数去计算各个节点的误差,内部节点和他的子树的损失函数值减少的值最小的那个进行剪枝,然后用交叉验证选取最佳子树。

欢迎关注我的其它发布渠道