假设我们有一个二元分类问题,数据集包含以下四个样本:
特征1 | 特征2 | 类别 |
0.2 | 0.3 | 1 |
0.4 | 0.5 | 0 |
0.6 | 0.7 | 0 |
0.8 | 0.9 | 0 |
可以使用CART算法来建立一个决策树模型。
1、首先,我们需要选择一个特征和阈值来对数据集进行划分。假设我们选择特征1和阈值0.5,将数据集划分成两个子集:
- 子集1:{0.2, 0.4},对应类别为{1, 0}
- 子集2:{0.6, 0.8},对应类别为{0, 1}
2、接下来,我们计算每个子集的基尼不纯度(这里采用基尼不纯度作为划分标准)。
对于子集1,基尼不纯度为:
其中, 表示子集1中类别为 1 的样本所占比例。
对于子集2,基尼不纯度为:
其中, 表示子集2中类别为1的样本所占比例。
因此,我们选择基尼不纯度最小的子集进行下一步的划分,即子集1。
3、然后,我们对子集1继续进行划分。假设我们选择特征2和阈值0.3,将子集1划分成两个子集:
- 子集1-1:{0.2},对应类别为{1}
- 子集1-2:{0.4},对应类别为{0}
此时,子集1-2已经是一个纯度为1的子集,不需要再进行划分。
对于子集1-1,由于只有一个样本,也被认为是一个纯度为1的子集。
因此,我们可以得到如下的决策树模型:
特征1 <= 0.5
├── 特征2 <= 0.3
│ └── 类别为1
└── 类别为0
这个决策树模型可以用来对新的样本进行分类。
例如,对于一个新的样本(特征1为0.7,特征2为0.6),可以按照决策树模型的规则进行判断:
1、首先判断特征1是否小于等于0.5,由于0.7>0.5,因此我们进入右子树。
2、然后判断特征2是否小于等于0.3,由于0.6>0.3,因此我们进入右子树。
3、最终,我们将该样本分类为类别1。