什么是决策树?决策树算法详解:分类、回归、信息增益与基尼系数  第1张

其中:

m 是数据集中的类别数,P(i) 是数据集 S 中类别 i 的概率。

例如,如果我们有一个包含“是”和“否”类别的二分类问题,那么每个类别的概率就是每个类别中实例的比例。基尼系数的范围从 0(代表完全纯净)到 0.5(代表二分类的最大不纯度)。

因此,Gini=0 表示子集内所有实例都属于同一类;Gini=0.5 表示实例在所有类中所占比例相等。

示例:如果我们想根据天气状况(天气状况和温度)来决定是否打网球。

天气状况有 3 个值:晴天、阴天、下雨;温度有 3 个值:炎热、温和、寒冷;打网球的结果有两个值:是或否。

现在,我们将计算基于“展望”划分的基尼系数。

因此,S 中的实例总数为 14,其分布为:

S 的基尼系数为:

P(是) = 9/14,P(否) = 5.14;Gain(S) = 1-((9/14)^2 + (5/14)^2);Gain(S) = 1-(0.404_0.183) = 1- 0.587 = 0.413

现在,让我们根据 Outlook 分布将数据点划分为子集,因此:

Sunny(5 条记录:2 条是,3 条否):P(是)=⅖,P(否) = ⅗;Gini(Sunny) = 1-((⅖)^2 +(⅗)^2) = 0.48

阴天(4 条记录:4 个是,0 个否):

由于此子集中的所有实例均为“是”,因此基尼系数为:

Gini(阴天)= 1-(4/4)^2 +(0/4)^2)= 1-1= 0 雨天(5 条记录:4 个是,1 个否):P(是)=⅘,P(否)=⅕ 基尼(雨天)= 1-((⅘ )^2 +⅕ )^2) = 0.32

阴天(4 条记录:4 个是,0 个否):

由于此子集中的所有实例均为“是”,因此基尼系数为:Gini(阴天)= 1-(4/4)^2 +(0/4)^2)= 1-1= 0

雨天(5 条记录:4 个是,1 个否):P(是)=⅘, P(No)=⅕ Gini(Rain) = 1-((⅘ )^2 +⅕ )^2) = 0.32

现在,我们根据 Outlook 值计算分割后的加权基尼系数。这将是分割后整个数据集的基尼系数。

加权基尼系数(S,Outlook)= 5/14 * 基尼系数(晴天)+ 4/14 * 基尼系数(阴天)+ 5/14 * 基尼系数(雨天)加权基尼系数(S,Outlook)= 5/14 * 0.48+ 4/14 * 0 + 5/14 * 0.32 = 0.286

基尼增益将计算为拆分后基尼系数的降低量。因此:

基尼增益(S,Outlook)= 基尼系数(S)- 加权基尼系数(S,Outlook)基尼增益(S,Outlook)= 0.413 – 0.286 = 0.127

因此,“Outlook”属性的基尼增益为 0.127。这意味着,使用“Outlook”作为拆分节点,可以将数据集的不纯度降低 0.127。这表明了该方法的有效性。这个特征在数据分类中的作用。

如上所述,决策树是一种监督式机器学习算法,可用于回归和分类任务。决策树首先使用拆分标准之一——信息增益或基尼系数——选择根节点。因此,构建决策树涉及递归拆分训练数据,直到每个分支中结果区分的概率达到最大。决策树算法从根节点自上而下进行。其工作原理如下:

这种自上而下的过程称为递归划分。它也被称为贪婪算法,因为在每一步中,算法都会根据当前数据选择最佳划分。这种方法虽然高效,但并不能确保树的广义最优性。

例如,设想一棵用于咖啡决策的决策树。根节点询问“现在几点?”;如果是早上,它会询问“累吗?”;如果是,它会引导到“喝咖啡”,否则会引导到“不喝咖啡”。下午也有一个类似的分支。这说明了决策树如何进行连续决策,直到得出最终答案。

在本例中,决策树从根节点“现在几点?”开始。根据这个问题的答案,下一个节点将是“你累了吗?”。最后,叶子节点给出最终的类别或决策“喝咖啡”或“不喝咖啡”。

现在,随着树的增长,每次拆分都旨在创建一个纯子节点。如果分裂过早停止(由于深度限制或样本量较小),则叶子节点可能不纯,包含混合类别;那么它的预测可能是该叶子节点中占多数的类别。

如果树变得非常大,我们必须添加深度限制或修剪(即删除不重要的分支),以防止过度拟合并控制树的大小。

决策树具有许多优势,使其成为机器学习中的热门选择,尽管它存在缺陷。在本节中,我们将讨论决策树的一些主要优缺点:

决策树因其可解释性和灵活性,在机器学习和数据科学领域的实践中广受欢迎。以下是一些实际示例:

这些示例展示了决策树的广泛用例,它们可用于从推荐算法到市场营销再到工程等领域的分类和回归任务。