1. 决策树基本概念
决策树是一种基于树状结构进行决策的分类和回归模型。通过对数据进行属性测试,将样本分成不同的类别,最终形成叶子节点。每个非叶节点表示一个属性测试,每个叶子节点表示一个分类结果。
2. 决策树的构造
决策树的构造是一个递归过程,分为以下几个步骤:
- 根节点:选择一个最优属性作为根节点。
- 属性选择:对于每个内部节点,选择一个最优属性进行测试。
- 递归划分:对选定属性的每个可能结果,递归地构建子树。
- 停止条件:当满足以下任一条件时停止:
- 当前节点包含的样本全属于同一类别。
- 当前属性集为空或所有样本在所有属性上取值相同。
- 当前节点包含的样本集合为空。
选择划分属性的目标是使得子节点尽可能纯,即同类样本尽可能多。
常用的决策树算法有ID3、C4.5和CART。
2.1 ID3算法
ID3算法通过信息增益选择划分属性。信息增益基于信息熵计算:
其中, 表示第 类样本在数据集 中的概率。
信息增益定义为划分前后的信息熵差值:
其中, 是在属性 上取值为 的子集, 是属性 的所有可能取值。
2.2 C4.5算法
C4.5算法通过增益率选择划分属性,以避免偏向于取值较多的属性。增益率定义为:
其中, 定义为:
2.3 CART算法
CART决策树使用基尼指数来选择划分属性,基尼指数反映了随机抽取两个样本类别不一致的概率:
属性 的基尼指数为:
3. 剪枝处理
决策树容易出现过拟合现象,通过剪枝可以缓解这种情况。剪枝策略包括预剪枝和后剪枝。
3.1 预剪枝
在构造过程中评估节点是否需要分支,如果分支对模型性能没有提升,则不进行分支。
3.2 后剪枝
构造完整决策树后,从底向上评估分支的必要性,如果分支对模型性能没有提升,则剪掉该分支。
4. 连续值与缺失值处理
4.1 连续值处理
对连续值属性进行离散化处理,常用的方法是二分法,选择最优划分点进行划分。
4.2 缺失值处理
对缺失值的处理方法包括:
- 通过样本子集计算信息增益。
- 将样本按权重划分到各个分支中。
参考文献:
- 周志华. 机器学习[M]. 北京:清华大学出版社,2016.
- 谢文睿 秦州 贾彬彬 . 机器学习公式详解 第 2 版[M]. 人民邮电出版社,2023
- 视频资料:吃瓜教程】《机器学习公式详解》(南瓜书)与西瓜书公式推导