CART 算法

Gini 值定义以属性 来划分数据集 的「基尼指数」(Gini Index)为

可以采用基尼系数进行属性划分。在候选属性集合中,每次选择使得划分后基尼指数最小的属性作为最优划分属性。

这样生成的决策树称为「CART 决策树

例题

(机器学习理论作业 2.6)

对于下面的数据集

顾客 ID 性别 车型 衬衣尺码
1 家用 C0
2 运动 C0
3 运动 C0
4 运动 C0
5 运动 加大 C0
6 运动 加大 C0
7 运动 C0
8 运动 C0
9 运动 C0
10 豪华 C0
11 家用 C1
12 家用 加大 C1
13 家用 C1
14 豪华 加大 C1
15 豪华 C1
16 豪华 C1
17 豪华 C1
18 豪华 C1
19 豪华 C1
20 豪华 C1

要求:

  1. 计算整个训练样本集的 Gini 指数
  2. 计算属性顾客 ID 的 Gini 指数
  3. 计算属性性别的 Gini 指数
  4. 计算属性车型的 Gini 指数
  5. 计算属性衬衣的 Gini 指数
  6. 哪个属性更好?
  7. 为什么顾客 ID 的 Gini 低,但不能作为属性测试条件

解:根据 Gini 指数公式

整个样本集

分别求出

车型的 Gini 系数最小,因此选择车型作为划分依据。

尽管根据“顾客ID”分割的数据集在统计上显示出很低的 Gini 不纯度,这种分割却没有实际的预测价值。这是因为顾客ID是唯一的,对于模型来说,使用这样的属性创建分割条件相当于对每个个体制定了一个规则,这既不具有泛化能力,也无法对新的、未见过的数据进行有效预测。此外,使用这样的属性作为测试条件会导致模型过拟合,即模型在训练数据上表现得很好,但在新的或未见过的数据上表现很差。