面试问题:在决策树算法中分裂树的不同方法有哪些?

378 阅读5分钟

决策树广泛用于机器学习和数据挖掘应用程序。决策树是一种类似于流程图的结构,有助于根据多种条件做出决策。它是使用训练数据集构建的,树的内部节点表示拆分数据的条件,而 叶节点表示决策或结果

决策树和随机森林

《决策树和随机森林:初学者的视觉介绍》书因其用决策树解释机器学习的教学方法而受到高度评价。它为初学者提供了简单而全面的指南,使用视觉辅助工具使复杂的概念易于理解。

如何拆分数据?

构建决策树最关键的步骤之一是确定如何在每个内部节点拆分数据。这个过程被称为分裂树,它直接影响结果模型的准确性和性能。 在本文中,我们将讨论在决策树算法中拆分树的不同方法。

image.png

1.基尼杂质

基尼杂质是对随机样本错误分类可能性的度量。换句话说,它衡量的是如果随机选择的元素根据数据集中标签的分布被随机标记,则被错误标记的概率。

基尼不纯度衡量如果随机选择的元素根据节点中标签的分布随机标记,则该元素被错误标记的频率。

2.信息增益

信息增益是通过根据给定属性对示例进行分区而实现的熵减少的度量。熵可以定义为告诉我们数据的混乱程度和混乱程度的度量。

熵的公式是:

对于具有两个类 A 和 B 的二元分类问题:

熵 = -P(A) * log2(P(A)) - P(B) * log2(P(B))

对于具有 K 个类的多类分类问题:

熵 = — Σi=1^K Pi * log2(Pi)

属性A的信息增益定义为原始集合的熵与属性A分裂后熵的加权平均值之间的差异。

3.增益比

增益比方法是信息增益的扩展。信息增益倾向于支持具有多个值的属性,并且不考虑通过拆分属性创建的分支数。

增益比 = 信息增益 / 拆分信息

其中 Split Info 是将节点拆分为多个分区所需的预期信息。它被定义为:

拆分信息 = — Σi=1^k (Ni/N) * log2(Ni/N)

其中 N 是节点中的示例总数,k 是分区数,Ni 是第 i 个分区中的示例数。

4.卡方

卡方方法测量属性和类之间的独立性。它基于属性和类是独立的假设,并通过计算属性在每个类中的观察频率和预期频率之间的差异来检验这一假设。

卡方 = Σi=1^k ((Oi — Ei)² / Ei)

其中 Oi 是类中第 i 个属性值的观测频率,Ei 是类中第 i 个属性值的期望频率。

5.减少错误修剪

减少错误修剪是一种用于避免决策树过度拟合的方法。它涉及删除不会提高树在验证数据上的准确性的分支。

修剪过程从树的底部开始,然后向上进行。在每个内部节点,树在单独的验证集上进行评估,如果删除节点下方的子树可以提高准确性,则删除子树。这个过程一直持续到进一步的修剪对准确性有害为止。

6. 最小描述长度

Minimum Description Length 是一种基于信息论的方法,旨在最小化对树的描述长度和给定树的数据。它结合了树的准确性和树的复杂性来确定最佳分割。

最小描述长度的公式为:

最小描述长度 = 树的长度 + 给定树的数据长度

其中,Length of Tree 是描述树所需的位数,Length of Data Given Tree 是描述给定树的数据所需的位数。

7.方差减少

减少方差是一种用于回归问题的方法,可以最小化每个内部节点处响应变量的方差。它试图以这样一种方式拆分数据,即在每个子集中最小化响应变量的方差。减少方差的公式是:

方差减少=父节点方差-子节点方差的加权平均

其中方差计算为与均值的平方偏差,加权平均值根据每个子节点中的示例数计算。

8.海灵格距离

Hellinger Distance 是一种基于概率分布之间相似性的方法。它寻求最小化父节点的概率分布与子节点的概率分布之间的距离。

Hellinger 距离 = sqrt(Σi=1^k ((sqrt(Pi) — sqrt(Qi))²))

其中Pi为父节点中第i类的概率,Qi为子节点中第i类的概率。

结论

总之,在决策树算法中有多种分裂树的方法,每种方法都有其优缺点。拆分方法的选择取决于具体问题、数据和期望的结果。

必须使用不同的拆分方法评估决策树的性能,并选择提供最佳准确性和泛化能力的方法。

常见问题

在决策树中分裂树的主要目的是什么?

在决策树算法中拆分树的主要目的是提高结果模型的准确性和性能。

决策树算法中的基尼杂质是什么?

基尼杂质是对随机样本错误分类可能性的度量。

什么是减少错误修剪?

减少错误修剪是一种通过删除不会提高准确性的分支来避免决策树过度拟合的方法。

什么是决策树算法中的方差减少?

减少方差是一种用于回归问题的方法,可以最小化每个内部节点处响应变量的方差。

什么是决策树算法中的最小描述长度?

Minimum Description Length 是一种基于信息论的方法,旨在最小化对树的描述长度和给定树的数据。