决策树连续值处理

大多数决策树中关于属性划分的讨论都是基于离散属性的假设,但如果西瓜数据集中包含了密度,含糖率两个属性,那么如何在含有连续值属性的数据集上进行决策树的构建呢

可以采用连续属性离散化的方法进行,比如采用二分法把连续属性化作两个区间。C4.5 算法也采用了这种方法

给定样本集 和连续属性 ,假定 上出现了 个不同的取值,将这些值从小到大进行排序,记为 ,基于划分点 可将 分为子集 ,其中 包含在属性 上取值不大于 的样本,而 包含在属性 上取值大于 的样本。对相邻的属性取值 来说, 在区间 中取任意值所产生的划分结果相同。因此,对连续属性 ,可考察包含 个元素的候选划分点集合

即把 的中位点 作为候选划分点,既可以像离散属性值一样来考察这些划分点,从候选集合 中选择最优的划分点 进行划分。

定义连续属性的信息增益为

其中, 是样本集 基于划分点 二分后的信息增益,我们选择使 最大的划分点 。求得的信息增益 即为连续属性 对集合 的信息增益。

求取步骤如下

  • 对连续属性排序
  • 计算候选划分点集合
  • 计算对 取最大值,即可求得

注意,与离散属性不同的是,若当前节点划分属性为连续属性,该属性还可作为后代节点的划分属性。

例题

对于下面的数据集

编号 密度 含糖率 好瓜
1 0.697 0.460
2 0.774 0.376
3 0.634 0.264
4 0.608 0.318
5 0.556 0.215
6 0.403 0.237
7 0.481 0.149
8 0.437 0.211
9 0.666 0.091
10 0.243 0.267
11 0.245 0.057
12 0.343 0.099
13 0.639 0.161
14 0.657 0.198
15 0.360 0.370
16 0.593 0.042
17 0.719 0.103

其中密度可以排序为

经过计算发现,当 时, 取最大值。因此选取 作为划分点,分为 两部分。同理计算含糖率的最佳划分点,计算其增益即可确定该如何划分。