互联网技术 / 互联网资讯 · 2024年3月16日

决策树:数据挖掘入门指南

决策树算法理解

决策树是直观运用概率分析的树形分类器,是很常用的分类方法,属于监管学习,决策树分类过程是从根节点开始,根据特征属性值选择输出分支,直到到达叶子节点,将叶子节点存放的类别作为决策结果。

比如说买瓜的时候,根据瓜的某些特征属性直观判断瓜的好坏,下图依次根据纹理清晰度、根蒂、色泽、触感4个进行分类,生活中我们会将某个最重要或最明显的分类属性放在第一位,然后是次重要属性,这很符合我们平常的判断思维,这就是决策树!

数据挖掘从入门到放弃之决策树

在特征属性非常大的时候,就出现了首选哪个特征属性进行分类?如何剪枝?分类的层次是多少?….系列问题,这些就是决策树构建的核心问题,而且不可能再通过生活直觉判,这时候就要运用数学思维。根据上面问题的不同解决方案,决策树又分为了ID3(熵增益)、C4.5(熵增益率)、CART几种同类算法。

熵增益(ID3)

通信层面,信息熵衡量信息的不确定性,信息熵越大表明信息越不准确,可以用信息熵的减少值来衡量信息的价值。在决策树模型中把信息确定性叫做熵增益,有了熵增益后,我们就可以根据熵增益来判断特征值的重要程度,从而选取最重要的特征作为第一次切分,再根据相同的方法用其他特征进行切分,直到得到得到每个划分的叶子节点。信息熵的定义是:

数据挖掘从入门到放弃之决策树

以某个特征属性值切分后子集熵的和称为条件A下的熵,也叫做条件熵,可以如下表示:

数据挖掘从入门到放弃之决策树

分类前的信息熵减去条件熵,得到熵增益:

数据挖掘从入门到放弃之决策树

比如说有以下数据集(相亲结果表lol..)

数据挖掘从入门到放弃之决策树

6条数据中相中(4个)与不想中(2个),暂且不关系如何进行分类,我们首先计算这个分类结果的信息熵:

数据挖掘从入门到放弃之决策树

其次,我们计算“富&Rdquo;属性的条件信息熵,6条数据中“富&Rdquo;与否各半,其中3个“富&Rdquo;都被分类到“相中&Rdquo;,3个“不富&Rdquo;都被分到“不想中&Rdquo;:

数据挖掘从入门到放弃之决策树

两者之差就是我们想要得到的熵增益:

数据挖掘从入门到放弃之决策树

计算各个特征属性的熵增益后,比较哪个熵增益最大,就选择该属性做第一分类特征。

熵增益率(C4.5)

按照熵增益最大准则的ID3算法,遇到全部都是非重复值(类似ID)属性容易造成过拟合,因为如果根据ID这个属性进行划分发现此时的熵增益是最大的:

数据挖掘从入门到放弃之决策树

信息增益率定义为:

数据挖掘从入门到放弃之决策树

其中info就是该特征属性中,属性值的信息熵:

数据挖掘从入门到放弃之决策树

剪枝处理

当训练数据量大、特征数量较多时构建的决策树过于庞大时,可能对训练集依赖过多,也就是对训练数据过度拟合。从训练数据集上看,拟合效果很好,但对于测试数据集或者新的实例来说,并不一定能够准确预测出其结果。因此,对于决策树的构建还需要最后一步–决策树的修剪,主要分为2种:预剪枝(PRe-PRuning)和后剪枝(Post-PRuning),这里先不讲。

鸢尾花(iRis)分类模型

IRis 鸢尾花数据集是一个经典数据集,在统计学习和机器学习领域都经常被用作示例。数据集内包含 3 类共 150 条记录,每类各 50 个数据,每条记录都有 4 项特征:花萼长度、花萼宽度、花瓣长度、花瓣宽度,可以通过这4个特征预测鸢尾花卉属于(iRis-setosa, iRis-veRSiColouR, iRis-viRginica)中的哪一品种,数据集地址:https://Github.coM/yezonggang/iRis

数据挖掘从入门到放弃之决策树

OpenMagic API

Need more than content? Move into the product flow.

If you are here for model access, pricing, developer docs, or the future API console, the dedicated product path now lives on api.openmagic.ai.