决策树:机器学习中的直观分类与回归工具
一、决策树的基本概念
决策树是一种树状结构的模型,其核心思想是从根节点开始,通过一系列特征判断,逐步走到叶子节点,最终得到决策结果。无论是分类任务(如判断 “是否适合打球”)还是回归任务(如预测 “房价”),所有数据最终都会落到叶子节点,因此决策树具有广泛的适用性。
简单来说,决策树的工作流程就像我们日常生活中的选择过程:比如 “是否去聚会”,先看 “有没有作业要交”,如果作业 “紧急” 就选择 “学习”,如果 “不紧急” 再看 “是否懒惰在家”,最终得出 “去酒吧” 或 “看电视” 的结论。
二、决策树的组成结构
决策树由三个核心部分组成:
- 根节点:树的第一个选择点,是整个决策过程的起点,需要选择最具区分性的特征。
- 非叶子节点与分支:中间的判断过程,每个非叶子节点代表一个特征的判断,分支则对应特征的不同取值(如 “天气 = 晴天”“天气 = 雨天”)。
- 叶子节点:最终的决策结果,如 “去打球”“不去打球”“学习” 等。
例如,在判断 “是否去酒吧” 的决策树中,“有没有聚会” 是根节点;“作业要交 = 接近”“作业要交 = 紧急” 等是中间节点和分支;“学习”“去酒吧” 则是叶子节点。
三、决策树的训练与测试
决策树的应用分为两个阶段:
1. 训练阶段
核心任务是从训练集中构造出一棵决策树。具体来说,需要从根节点开始选择特征,并确定如何切分特征(即根据特征的不同取值划分数据)。这是决策树的难点,因为需要找到最优的特征和切分方式。
2. 测试阶段
当决策树构造完成后,测试过程非常简单:只需将测试数据从根节点开始,按照树的分支逐层判断,最终落到某个叶子节点,该节点的结果就是预测结果。
可见,决策树的关键在于如何构造出一棵最优的树,而这取决于特征的选择和切分标准。
四、特征切分的衡量标准:熵与信息增益
为了选择最优的特征进行节点切分,需要通过衡量标准判断特征的区分能力。常用的标准包括熵和信息增益。
1. 熵(Entropy)
熵是衡量随机变量不确定性的指标,公式为:
H(X) = -∑(pi * logpi)(其中 pi 是第 i 类数据的概率,i=1,2,...,n)
- 熵值越大,数据的不确定性越高;
- 当所有数据属于同一类(pi=0 或 pi=1),熵值为 0(完全确定);
- 当数据均匀分布(如二分类中各占 50%),熵值最大(为 1)。
例如:
- 集合 A=[1,1,1,1,1,1,1,1,2,2] 中,1 的概率为 0.8,2 的概率为 0.2,熵值较低(不确定性小);
- 集合 B=[1,2,3,4,5,6,7,8,9,1] 中,各类别分布更分散,熵值更高(不确定性大)。
在分类任务中,我们希望通过特征切分后,数据的熵值变小(即不确定性降低,同类数据更集中)。
2. 信息增益
信息增益表示某个特征能使类别不确定性减少的程度,即 “切分前的熵值 - 切分后的熵值”。信息增益越大,说明该特征的区分能力越强,越适合作为当前节点的切分特征。
例如,若切分前的总熵值为 0.940,切分后通过某特征得到的平均熵值为 0.693,则信息增益为 0.940 - 0.693 = 0.247,该特征能有效降低数据的不确定性。
五、决策树构造实例
以 “14 天打球情况” 数据集为例(目标:判断某天是否适合打球,特征包括天气、温度、湿度、风力),构造决策树的步骤如下:
- 计算初始熵值:14 天中有 9 天打球、5 天不打球,初始熵值为 0.940。
- 计算各特征的信息增益:
- 对于 “天气(outlook)” 特征:
- 晴天(sunny)时熵值为 0.971,阴天(overcast)时熵值为 0,雨天(rainy)时熵值为 0.971;
- 按概率加权计算切分后平均熵值:(5/14×0.971) + (4/14×0) + (5/14×0.971) = 0.693;
- 信息增益:0.940 - 0.693 = 0.247。
- 同理计算 “温度”“湿度”“风力” 的信息增益,选择最大的特征作为根节点(此处 “天气” 被选为根节点)。
- 对于 “天气(outlook)” 特征:
- 递归构造子树:在根节点的每个分支下(如晴天、阴天、雨天),重复上述过程,选择信息增益最大的特征作为子节点,直至所有数据被正确分类或满足停止条件。
六、总结
决策树是一种直观易懂的机器学习模型,其核心在于通过熵和信息增益选择最优特征,逐步构建树结构。训练阶段的关键是特征切分,测试阶段则通过遍历树完成预测。由于其解释性强、适用范围广,决策树在金融、医疗、电商等领域均有广泛应用。