决策树划分数据集

前面我们学习了如何度量数据集的无序程度,分类算法除了需要测量信息熵,还需要划分数据集,计算划分数据集的熵,以便判断当前是否正确地划分了数据集。判断的方法是:

根据每个特征划分数据集的结果,计算一次信息熵,然后根据信息熵判断,根据哪种特征来划分,是最好的划分方式。

我们可以想象一下,分布在二维平面上的一些散点,假如我们需要在这些散点之间划一条线,将它们分成两部分,那我们该按照x轴,还是y轴,还是别的线去划呢?这就是我们本文要讲的内容。

首先,我们需要对数据进行一个整理,使其满足下列条件:

数据必须是由列表组成的列表,且所以的列表元素具有相同的长度;

每个实例的最后一个元素是该实例的标签。

例如:[[1,0,’跌’],[0,1,’跌’],[1,1,’涨’]]就是满足要求的,我们对list中的数据的类型没有要求。

在完成数据整理之后,我们接着就开始划分数据集

第一步,我们根据熵的定义,计算原始数据集的熵。

第二步,我们遍历当前特征中的所有的唯一的属性值,对每个唯一属性值划分一次数据集,然后计算划分后数据集的新熵,并对所有唯一特征值得到的熵求和。

第三步,我们将每个特征值划分后的熵与原始数据集比较,得到所有特征中的信息增益,得到最好的划分特征的索引值。

到目前为止,我们已经学习了构造决策树所需要的一些基础,后面我们将介绍如何真正构建决策树。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180803G103DF00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励