【机器学习】决策树

什么是决策树?

决策树是一种树形结构的机器学习模型 ,用于分类或回归问题。它通过一系列的特征条件划分数据,逐步缩小问题的范围,最终做出预测或决策

决策树算法属于监督学习方法。

决策树归纳的基本算法是贪心算法

自顶向下来构建决策树。

决策树模型

  • 根节点:包含全部数据,是决策树的起点。
  • 内部节点:每个节点对应一个特征,用来划分数据

(根据判断条件,数据被划分到不同的分支)

  • 叶节点:表示分类结果或预测值

基本流程

通过递归分裂数据,构建一棵树,使每次划分后的子集尽量"纯"。

核心步骤

  1. 选择最优特征(划分标准)

    • 每次选一个"最优特征",将数据分成几类,尽量让每一类的数据都"纯"(尽量属于同一类别)。

    • 最优特征的选择通过 信息增益基尼指数 计算。

  2. 递归分裂

    • 对每个分支的数据子集,重复选择特征、划分数据的过程。

    • 直到满足停止条件:叶子节点达到一定纯度,或者没有特征可用。

  3. 停止分裂

    • 数据完全被划分好,或达到最大深度、最小样本限制等条件。

特征选择的指标

信息增益

信息增益衡量一个特征对数据划分的效果。特征越好,划分后数据越纯,信息增益越大。

信息熵(Entropy):表示数据的混乱程度

增益率

基尼指数

基尼指数衡量数据的不纯度

基尼指数越小,数据越纯。

划分选择vs.剪枝

  • 信息增益(用于 ID3 算法):

    • 计算节点划分前后的熵变化。【熵是对数据混乱程度的度量。熵越低,数据越纯】
    • 信息增益越大,特征越好。【信息增益表示在某特征下划分数据后,减少的程度】
  • 增益率(用于 C4.5 算法):

    • 信息增益的改进形式,考虑特征的"取值数目"对信息增益的影响,避免偏好多值特征。

【固有值度量了特征取值的分布情况】增益率通过归一化,降低了多值特征的影响。

  • 基尼指数(用于 CART 算法):

    • 衡量节点划分后的数据不纯度。【基尼指数衡量数据不纯度。基尼指数越小,数据越纯】
    • 基尼指数越小,数据越纯。

防止过拟合的方法

剪枝过程中需评估剪枝前后决策树的优劣

剪枝的好处

  • 减少过拟合,提升模型的泛化性能。
  • 简化树的结构,使其更易解释。

决策树的三种基本类型

ID3算法

V ID3算法最早是由罗斯昆(J. Ross Quinlan)于1975年提出的一种决策树构建

算法,算法的核心是"信息熵",期望信息越小,信息熵越大,样本纯度越低。

V ID3算法是以信息论为基础,以信息增益为衡量标准,从而实现对数据的归纳

分类。

V ID3算法计算每个属性的信息增益,并选取具有最高增益的属性作为给定的测

试属性。

C4.5算法

  • 预剪枝(Pre-Pruning):

    • 在构建决策树时提前停止划分。

    • 条件:

      • 当前节点的样本数少于设定阈值。

      • 划分后信息增益低于阈值。

      • 树的深度达到限制。

    • 优点:简单高效,防止生成过于复杂的树。

    • 缺点:可能过早停止,导致模型欠拟合。

  • 后剪枝(Post-Pruning):

    • 先生成一棵完整的决策树,然后从叶子节点向上剪枝。

    • 剪枝后验证模型性能,如果剪枝能提升性能则保留剪枝。

    • 方法

      • 错误率剪枝:计算剪枝前后对验证集的错误率,错误率下降则剪枝。

      • 代价复杂度剪枝:通过引入一个正则化参数,平衡树的复杂度和误差。

    • 优点:更灵活,能保留有用的复杂结构。

    • 缺点:计算复杂度较高。

CART算法

相关推荐
艾莉丝努力练剑10 分钟前
【Python基础:语法第一课】Python 基础语法详解:变量、类型、动态特性与运算符实战,构建完整的编程基础认知体系
大数据·人工智能·爬虫·python·pycharm·编辑器
MobotStone28 分钟前
数字沟通之道
人工智能·算法
Together_CZ29 分钟前
Cambrian-S: Towards Spatial Supersensing in Video——迈向视频中的空间超感知
人工智能·机器学习·音视频·spatial·cambrian-s·迈向视频中的空间超感知·supersensing
caiyueloveclamp1 小时前
【功能介绍05】ChatPPT好不好用?如何用?用户操作手册来啦!——【AI辅写+分享篇】
人工智能·powerpoint·ai生成ppt·aippt·免费aippt
Aileen_0v01 小时前
【Gemini3.0的国内use教程】
android·人工智能·算法·开源·mariadb
xiaogutou11211 小时前
5款软件,让歌唱比赛海报设计更简单
人工智能
后端小张2 小时前
智眼法盾:基于Rokid AR眼镜的合同条款智能审查系统开发全解析
人工智能·目标检测·计算机视觉·ai·语言模型·ar·硬件架构
dalalajjl2 小时前
每个Python开发者都应该试试知道创宇AiPy!工作效率提升500%的秘密武器
大数据·人工智能
wheeldown2 小时前
【Rokid+CXR-M】基于Rokid CXR-M SDK的博物馆AR导览系统开发全解析
c++·人工智能·ar
爱看科技2 小时前
AI智能计算竞赛“战火重燃”,谷歌/高通/微美全息构建AI全栈算力开启巅峰角逐新篇
人工智能