分类与回归树


2021年12月24日, Learn eTutorial
2112

决策树是直观的算法,旨在根据数据选择最佳决策序列,以达到给定结果。它们高度灵活,可用于分类和回归任务。唯一的区别在于目标变量。

分类与回归树 (CART) 是Bagging、随机森林和Boosting的基础。本教程提供了决策树的基础知识,将引导我们探索这些更复杂的集成技术。

分类问题:我们使用CART算法解决分类问题,唯一的区别在于输出变量。在分类问题中,输出将是一个有限值。这意味着第二天会是晴天或不是晴天。

回归问题:在回归问题中,我们将得到一个无限值集的输出变量。例如,预测房价。

分类与回归树 (CART) 如何工作?

为了理解CART的工作原理,考虑一个例子,我们有一些橙子与一些橘子混在一起。我们需要将它们分类到不同的类别中,因此我们需要一套规则来帮助我们进行分类。

首先,我们考虑它们的尺寸,因为橙子比橘子稍大,所以我们可以假设橙子的尺寸约为10厘米,而橘子将小于7厘米。我们还可以考虑橙子的颜色会比橘子浅。

因此,我们可以将橙子的颜色范围设为0到5。这样我们就可以创建一个包含3条规则的树,这将橙子和橘子分开。

Classification and Regression Trees

将数据表示为决策树

我们将举一个简单的例子,根据三个标准决定是出门还是待在家里:天气、温度,以及我们是否有好书。这个虚构的数据集如下所示

Classification and Regression Trees

决策树从根节点绘制到叶节点,表示结果:我们是待在家里还是出门了。在决策过程中考虑的附加特征称为内部节点

我们可以描述节点之间的关系。父节点是决策过程中子节点之前的节点。节点根据模型在训练过程中学习的决策规则分裂成不同的分支。

Classification and Regression Trees

从这个简单的例子中,我们已经确定了导致特定结果的规则集。然而,CART的目标是a) 学习合适的树结构,b) 学习这些决策规则。

映射决策树

因为我们有根节点的三个不同特征,所以我们可以根据天气、温度或书籍来分割树。关键问题是确定算法如何选择特征分割的顺序。

Classification and Regression Trees

在CART中,我们根据每个特征创建三个初始分割。然后,我们评估分割在最小化误差或改进预测方面的效果。这个分支分割过程会迭代进行,直到达到叶节点。

上面的例子展示了天气和温度特征之间的分割。算法首先在天气轴上将“晴天”和“雨天”分开,因为这在“在家”和“出门”类别之间产生了最佳分离。然后,在温度轴上,70度似乎是分割这两个类别的最佳温度。

使用基尼不纯度系数确定分割质量

在回归树中,均方误差用于确定所有分支的分割质量。

Classification and Regression Trees

其中 pi 是一个类别中项目所占的比例。

然而,准确率在分类树中并不是衡量分割质量的好指标,尤其是在数据不平衡的情况下,整体模型准确率可能导致结果偏差。相反,我们可以使用两个替代指标

信息增益。这些替代指标告诉模型分割如何分离类别。熵与基尼不纯度几乎相同,但使用了不同的公式。

Classification and Regression Trees

为了进行良好的分割,我们必须理解上述所有内容,并始终牢记熵最低的分割是最好的。同样,检查两个子节点的熵,如果它不高于父节点,则停止分割。

树的剪枝和修剪

决策树的主要问题是,如果它们创建了特定于给定数据集的复杂树,则容易过拟合。因此,重要的是告诉模型何时停止分割。

这个超参数称为最大深度,它指的是模型从根节点到叶节点的最长路径。

虽然我们可以告诉模型停止分割,但我们也可以回溯并剪枝降低分割质量的分支。树剪枝等同于正则化,而 alpha 是用于加权节点并告诉模型移除包含少量信息的分支的超参数。