尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

【机器学习】监督学习 —— 决策树(Decision Tree) - 指南

【机器学习】监督学习 —— 决策树(Decision Tree) - 指南
📅 发布时间:2026/6/19 8:36:40

【机器学习】监督学习 —— 决策树(Decision Tree) - 指南

2025-10-19 22:18  tlnshuju  阅读(0)  评论(0)    收藏  举报

  • 决策树(Decision Tree)
    • 决策树分类
    • 决策树中的划分准则
      • 熵与信息增益
      • 基尼不纯度
    • 决策树中的剪枝
    • 决策树的优势
    • 决策树的缺点

Decision Trees(DT)是一种非参数的监督学习方法,用于 分类和回归通过学习从就是。其目标数据特征 推断出的 简单决策规则,创建一个能够预测目标变量取值 的模型。

决策树可以视为一种分段常数近似。

例如,在下方的示例中,决策树通过从数据中学习,以一系列if‑then‑else 决策规则来逼近正弦曲线。树的深度越大,决策规则越复杂,模型的拟合程度也越高。
在这里插入图片描述

Decision Tree
What is a decision tree?
Decision tree implementation
Decision Trees

决策树(Decision Tree)

决策树通过绘制不同的选择及其可能的结果帮助我们做决定。它在机器学习中用于分类和预测 等任务。

在这里插入图片描述
决策树经过展示不同的选项及其相互关联帮助我们做决定。它具有类似树状的结构,从称为 根节点的重要问题开始,根节点代表整个数据集。随后,树根据数据中的特征分支出不同的可能性。

它通过不断地对数据特征 进行 分裂,把 样本划分为更小的子集,直到 子集尽量“纯”(即大多数样本属于同一类,或预测值稳定)。

  • 根节点:表示 整个资料集的起始点。

  • 分支:连接节点的线条,展示从一个决策到另一个决策的流程。

  • 内部节点:根据信息特征做出决策的点。

  • 叶节点:树的终点,进行最终决策或预测 的地方。

在这里插入图片描述

决策树通过 递归 地 将内容划分为越来越小的子集 来 创建。在每一次划分时,数据会依据特定特征进行分割,且分割方式旨在最大化信息增益。

在这里插入图片描述
在上图中,决策树是一种类似流程图的树形结构,用于做出决策。它由根节点(WINDY)、内部节点(OUTLOOK、TEMPERATURE)组成,根节点代表完整的内容集,内部节点代表对属性的测试,叶节点 代表 最终决策。树的分支代表测试的可能结果。

决策树分类

根据 目标变量,决策树主要分为两种类型:

  • 分类树:用于 预测类别型结果,如垃圾邮件或非垃圾邮件等。这类树根据特征划分数据,以将素材归类到预定义的类别中。
  • 回归树:用于 预测连续结果,如预测房价。它不进行类别划分,而是根据输入特征提供数值预测。

根据 划分准则,有以下类型:

  • ID3:Iterative Dichotomiser 3,Quinlan 创建,该算法利用熵和信息增益作为度量指标来评估候选划分。

  • C4.5:该算法被视为 ID3 的后续迭代,同样由 Quinlan 开发。它可以使用信息增益或增益率来评估决策树中的划分点。

  • CART:classification and regression trees,由 Leo Breiman 引入。该算法通常使用基尼不纯度(Gini impurity)来确定最佳的划分属性。基尼不纯度衡量随机选择的属性被错误分类的概率。利用基尼不纯度进行评估时,数值越低越理想。

应用场景:

  • 客户流失预测:公司使用决策树根据行为模式、购买历史和互动来预测客户是会离开还是留下。这使企业能够采取主动措施保留客户。
  • 银行贷款审批:银行使用决策树来评估是否应批准贷款申请。决策依据信用评分、收入、就业状况和贷款历史等因素。这样可以预测批准或拒绝,从而实现快速且可靠的决策。

通过举个例子,假设你正在评估是否应该去冲浪,能够使用以下决策规则来做出选择:
在这里插入图片描述
决策树学习采用分而治之的策略,通过贪心搜索 来 确定树中的最佳划分点。随后,这一划分过程会以自上而下、递归的方式重复进行,直至所有记录或大多数记录被归入特定的类别标签。

决策树中的划分准则

在决策树中,每个节点的内容划分过程至关重要。划分准则用于寻找最佳特征来划分内容,常见的划分准则包括信息熵 和 基尼不纯度。

  • 熵:它 衡量数据中的不确定性或混乱程度。决策树通过在提供关于目标变量最多信息的特征上划分数据,以降低熵。

  • 基尼不纯度:该标准 衡量节点的“杂质”程度。基尼不纯度越低,特征对数据的划分就越能将其分成明确 的类别。

这些标准帮助决定在树的每个决策点上,哪些特征对建立最佳划分有用。

熵与信息增益

熵(Entropy)是信息论中的一个概念,最初由香农提出,用来衡量信息的不确定性 或 混乱程度。在机器学习的决策树中,熵被引入来度量一个材料集的 纯度(impurity)。

它由以下公式定义,其中:
Entropy ( S ) = − ∑ c ∈ C p ( c ) log ⁡ 2 p ( c ) \text{Entropy}(S) = - \sum_{c \in C} p(c) \log_2 p(c)Entropy(S)=−c∈C∑​p(c)log2​p(c)

S SS 表示用于 计算熵的数据集,c cc 表示集合 S SS 中的类别,C CC是类别集合,p ( c ) p(c)p(c)表示属于类别c cc的内容点相对于集合S SS中总数据点数的比例。

熵值可以在 0 00 到 1 11 之间。为了选择最佳的划分特征并找到最优决策树,应使用熵最小的属性。

  • 当 所有样本都属于同一类时:p ( c ) = 1 p(c)=1p(c)=1,其他类别概率为0 00,此时熵 =0 00,表示 完全纯净;
  • 当 样本类别均匀分布时(如二分类时各占 50%):熵达到最大值(= 1 11),表示 最混乱。

信息增益 表示在 对给定属性进行划分前后熵的差值。信息增益越大,说明该特征带来的分类纯度提升越大,因此更适合用于划分。。信息增益通常用以下公式表示,

Information Gain ( S , A ) = Entropy ( S ) − ∑ v ∈ values(A) ∣ S v ∣ ∣ S ∣ Entropy ( S v ) \text{Information\ Gain}(S, A) = \text{Entropy}(S) - \sum_{v \in \text{values(A)}} \frac{| S_v |}{| S| } \text{Entropy}(S_v)Information Gain(S,A)=Entropy(S)−v∈values(A)∑​∣S∣∣Sv​∣​Entropy(Sv​)

其中,A AA代表一个特定的属性或类标签,Entropy ( S ) \text{Entropy}(S)Entropy(S) 是数据集 S SS 的熵,∣ S v ∣ / ∣ S ∣ |S_v|/|S|∣Sv​∣/∣S∣ 表示 S SS中的值数量与数据集S SS中值总数之比。


举个例子,假设有如下“Play Tennis” 数据集:

DayOutlookTempHumidityWindTennis
1SunnyHotHighWeakNo
2SunnyHotHighStrongNo
3OvercastHotHighWeakYes
4RainMildHighWeakYes
5RainCoolNormalWeakYes
6RainCoolNormalStrongNo
7OvercastCoolNormalWeakYes
8SunnyMildHighWeakNo
9SunnyCoolNormalWeakYes
10RainMildNormalWeakYes
11SunnyMildNormalStrongYes
12OvercastMildHighStrongYes
13OvercastHotNormalWeakYes
14RainMildHighStrongNo

先计算 数据集的整体熵,可以通过计算 Play Tennis 为 Yes 的天数比例(9 / 14 9/149/14)以及 Play Tennis 为 No 的天数比例(5 / 14 5/145/14)来得到,将这些数值代入上面的熵公式,

Entropy ( Tennis ) = − ( 9 / 14 ) log ⁡ 2 ( 9 / 14 ) – ( 5 / 14 ) log ⁡ 2 ( 5 / 14 ) = 0.94 \text{Entropy} (\text{Tennis}) = -(9/14) \log_2(9/14) – (5/14) \log_2 (5/14) = 0.94Entropy(Tennis)=−(9/14)log2​(9/14)–(5/14)log2​(5/14)=0.94

随后可以 分别计算每个属性的信息增益。注意先 计算该属性的子集熵,例如属性 Humidity,

当 Humidity = High:
Entropy ( High ) = − 3 7 log ⁡ 2 3 7 − 4 7 log ⁡ 2 4 7 ≈ 0.985 \text{Entropy}(\text{High}) = -\frac{3}{7}\log_2\frac{3}{7} - \frac{4}{7}\log_2\frac{4}{7} \approx 0.985Entropy(High)=−73​log2​73​−74​log2​74​≈0.985

当 Humidity = Normal:
Entropy ( Normal ) = − 6 7 log ⁡ 2 6 7 − 1 7 log ⁡ 2 1 7 ≈ 0.592 \text{Entropy}(\text{Normal}) = -\frac{6}{7}\log_2\frac{6}{7} - \frac{1}{7}\log_2\frac{1}{7} \approx 0.592Entropy(Normal)=−76​log2​76​−71​log2​71​≈0.592

信息增益 =整体熵 – 划分后的加权平均熵。属性 Humidity 的信息增益如下:

Gain ( Tennis , Humidity ) = 0.94 − ( 7 / 14 ) ∗ ( 0.985 ) – ( 7 / 14 ) ∗ ( 0.592 ) = 0.151 \text{Gain} (\text{Tennis}, \text{Humidity}) = 0.94 -(7/14)*(0.985) – (7/14)*(0.592) = 0.151Gain(Tennis,Humidity)=0.94−(7/14)∗(0.985)–(7/14)∗(0.592)=0.151

然后,对上表中每个属性重复计算信息增益,并 选择信息增益最高的属性作为决策树的第一个划分点。

在本例中,outlook 产生了最高的信息增益。随后,对每个子树重复该过程。

基尼不纯度

衡量的是:若是按照资料集中的类别分布随机地为一个样本打标签,错误分类的概率是多少。类似于熵,假设集合 S SS 是纯的(即全部属于同一类别),则其不纯度为零。这许可用以下公式表示:

Gini Impurity ( S ) = 1 − ∑ i ( p i ) 2 \text{Gini}\ \text{Impurity}(S) = 1 - \sum_i (p_i)^2GiniImpurity(S)=1−i∑​(pi​)2

S SS是当前数据集,k kk 是类别数,p i p_ipi​ 是类别 i ii在数据集中的比例。

  • 当数据集是纯的(例如全是同一类别),假设p = 1 p=1p=1,则 Gini = 1 − 1 2 = 0 \text{Gini} = 1 - 1^2 = 0Gini=1−12=0,表示完全没有不确定性。

  • 当数据集类别分布越均匀,Gini 值越大,说明不纯度更高。二分类最极端情况:p 1 = 0.5 , p 2 = 0.5 p_1 = 0.5, p_2 = 0.5p1​=0.5,p2​=0.5,则 Gini = 1 − ( 0. 5 2 + 0. 5 2 ) = 0.5 \text{Gini} = 1 - (0.5^2 + 0.5^2) = 0.5Gini=1−(0.52+0.52)=0.5二分类情况下 Gini 的最大值。就是,这就

和熵比较,二者趋势类似(纯度越高值越低),但:

  • 熵的数学形式更偏信息论;
  • Gini 计算更简单,数值范围在二分类时为 ([ 0 , 0.5 ] [0,0.5][0,0.5])。
  • 在实际应用(如 CART 决策树)中,常用 Gini 作为默认的划分标准。

决策树中的剪枝

剪枝是 防止决策树过拟合的重要技巧。过拟合发生在学习一般模式就是树的深度过大、开始记忆训练信息而不时。这会导致在新、未见过的资料上表现不佳。

该技术 通过 去除预测能力较弱的分支,降低树的复杂度。它凭借帮助树更好地对新数据进行泛化,提升模型性能。它还使模型更简洁且部署更快捷。当决策树过于深且开始捕获数据中的噪声时,这很有用。

决策树的优势

  • 易于理解:决策树是 可视化 的,这使得 跟踪决策过程 变得容易。
  • 通用性:可用于分类和回归问题。
  • 无需特征缩放:与许多机器学习模型不同,它不需要我们对数据进行缩放或归一化。
  • 处理非线性关系:它能 有效捕捉特征与结果之间的繁琐非线性关系。
  • 可解释性:树结构易于解释,帮助用户了解每个决策背后的原因。
  • 处理缺失数据:它允许通过使用诸如分配最常见值 或 在划分时忽略缺失数据等策略来处理缺失值。

决策树的缺点

  • 过拟合:如果 模型太深,它们可能会对训练数据过拟合,这意味着它们记住数据而不是学习一般模式。这会导致在未见过的内容上表现不佳。
  • 不稳定性:它可能不稳定,这意味着数据的微小变化可能导致树结构和预测出现显著差异。
  • 倾向于类别多的特征的偏差:它可能会对具有众多不同取值的特征产生偏倚,过度关注这些特征,导致可能遗漏其他重要特征,从而降低预测准确性。
  • 捕捉复杂交互的困难:决策树可能难以捕捉特征之间的复杂交互,这使得它们在某些类型的数据上效果较差。
  • 对于大型数据集计算成本高:对于大型数据集,构建和剪枝决策树可能计算量大,尤其是随着树深度增加时。

相关新闻

  • https代理服务器(五)换电脑
  • 编程指北的 C++
  • 物品复活软件开发记录 - CelestialZ

最新新闻

  • 2026年6月头部宠物皮肤科医院推荐,宠物眼科/猫咪体检/异宠/宠物皮肤/宠物骨科/猫咪绝育/宠物,宠物皮肤科专家找哪家 - 品牌推荐师
  • 深入解析MPC8360E/MPC8358E处理器接口电气特性与硬件设计实践
  • LLM嵌入技术在表格数据预测中的应用与实践
  • 渗透测试实战:CDN绕过与子域名爆破核心技术解析
  • 5个实用技巧:用FitGirl游戏启动器轻松管理你的压缩版游戏库
  • 沃尔玛成钓鱼攻击首选目标:高仿真品牌钓鱼的攻防解析与防范指南

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号