决策树是一种广泛使用的分类和回归任务模型。实际上,它们学习了“if-else”问题的层次结构,从而导致决策。决策树是类似树结构的流程图,其中每个内部节点表示对属性的测试,每个分支表示测试的结果,并且每个叶节点(终端节点)保持类标签。
想象一下,你想要区分以下四种动物: 熊, 鹰, 企鹅和海豚。
目标是找到正确的答案,尽可能少地询问其他问题。
可以先问一下这种动物是否有羽毛,这个问题可以将你可能的动物缩小到只有两只动物。
如果答案是肯定的,你可以提出另一个可以帮助你区分鹰和企鹅的问题。例如,您可以询问动物是否可以飞行。
如果动物没有羽毛,你可能的动物选择是海豚和熊,你需要提出一个问题来区分这两种动物,例如,询问动物是否有鳍。
这一系列问题可以表达出来作为决策树,如下图所示。
属性选择
假设我们的数据集如下。表1是关于购买计算机的客户。
决策树将显示如下数据
问题 :决策树算法是如何确定根节点的Age并分为两个节点 Student和 Credit rating等。
决策树有一些属性选择度量。
1)信息增益
2)增益比
3)基尼指数
属性选择的信息增益
这项措施是基于克劳德·香农在信息理论方面的开创性工作,该理论研究了信息的价值或“信息内容”。让我们计算所有特征(年龄,收入,学生,信用评级)的信息增益。为了计算信息增益,我们需要按照以下步骤操作。
- 熵需要对D中的元组进行分类
我们在目标列中总共有14行(“yes”= 9,“no”= 5)。因此,所有数据集的信息增益为:
2.所需的信息(使用A将D拆分为v个分区后)对D进行分类:
3.通过分支属性A获得的信息
开始计算Age的信息增益。在年龄列的表2 中 -
对于(≤30)情况,我们有“是”(p = 2),“否”(n = 2)和熵 I(p,n)为0.971,
对于(31 ... 40),我们有“是”(p = 4),“否”(n = 0)和熵 I(p,n)为0,
对于(> 40),我们有“是”(p = 3),“否”(n = 2)和熵 I(p,n)为0.971
计算年龄信息
同样(收入,学生,信用评级):
Age信息的获取比其他特征更大。所以我们知道为什么决策树算法会先选择Age
属性选择的增益比率
信息增益度量用于在决策树的每个节点处选择测试属性。信息增益度量更喜欢选择具有大量值的属性。C4.5对基本决策树归纳算法ID3进行了改进。C4.5是ID3的后继产品,它使用一种称为增益比的信息增益扩展,试图克服这种偏差。
设S由具有m个不同类的S数据样本组成。对给定样本进行分类所需的期望信息由
通过分支A获得的编码信息是
C4.5使用增益比,它使用定义为的值对信息增益进行归一化
上面的值表示将训练数据集S分割成v个分区,对应属性a测试的v个结果所生成的信息。
增益比定义为
在我们的情况下:
选择增益比最大的属性作为分割属性
属性选择的基尼索引
基尼索引为每个属性考虑二进制分割。基尼指数度量D(数据分区或一组训练元组)的杂质为,
在考虑二进制分割时,我们计算每个结果分割的杂质的加权和。例如,如果一个分区D上的二进制分割为D1和D2,那么给定该分区的D的基尼指数为
对于每个属性,都要考虑可能的二进制分割。对于离散值属性,为该属性提供最小基尼系数的子集作为其分割属性