机器学习之决策树模型:从基础概念到条件类型详解

机器学习之决策树模型:从基础概念到条件类型详解

摘要:本文深入探讨决策树模型的概念、构成以及不同条件类型。首先介绍决策树的基本结构和工作原理,随后详细阐述轴心对齐条件与倾斜条件、二元条件与非二元条件的差异及应用场景,并通过示例分析展示决策树在分类和回归任务中的实际应用,最后简要提及 YDF 代码在决策树训练中的使用方法。

决策树基础

决策森林模型由多个决策树组成,像随机森林这样的决策森林学习算法在一定程度上依赖于决策树的学习过程。在研究小型示例数据集时,我们可以了解如何训练单个决策树,进而学会组合决策树以训练决策森林。

决策树由一系列以树形结构分层排列的"问题"组成,这些问题也称为条件、分块或测试,在本文中统称为 "条件"。每个非叶节点包含一个条件,而每个叶节点包含一个预测结果。决策树通常从顶部的根节点向下生长。

图 1:简单分类决策树

graph TD A[根节点] --> B[num_legs ≥ 3?] B --> C[num_eyes ≥ 3?] B --> D[否] C --> E[是] C --> F[否] E --> G[狗] F --> H[猫] D --> I[鱼]

图 2:示例推理路径

{num_legs : 4, num_eyes : 2} 为例,推理路径以叶节点 dog 为终点:

graph TD A[根节点] --> B[num_legs ≥ 3?] B --> C[num_eyes ≥ 3?] C --> D[否] D --> E[狗]

图 3:数值预测决策树

graph TD A[根节点] --> B[num_legs ≥ 3?] B --> C[num_eyes ≥ 3?] B --> D[否] C --> E[是] C --> F[否] E --> G[可爱程度得分: 8] F --> H[可爱程度得分: 5] D --> I[可爱程度得分: 3]

决策树条件类型

轴心对齐条件与倾斜条件

轴心对齐条件仅涉及单个特征项,例如 num_legs ≥ 2。倾斜条件则涉及多个特征项,比如 num_legs ≥ num_fingers。通常,决策树使用轴对齐条件进行训练,但倾斜条件能表达更复杂模式,可能带来更好结果,不过训练和推理成本更高。在 YDF 中,决策树默认使用轴对齐条件,可通过 split_axis="SPARSE_OBLIQUE" 参数启用倾斜树。

图 4:条件类型示例

特征空间 轴对齐条件 倾斜条件 简单分割 复杂分割

图 5:特征空间分离示例

特征空间 轴对齐条件分割 倾斜条件分割 简单分离 复杂分离

二元条件与非二元条件

具有两个可能结果的条件是二元条件,仅含二元条件的决策树称为二元决策树。非二元条件有多种可能结果,区分能力更强,包含非二元条件的树称为非二元决策树。但过于强大的条件易过拟合,决策森林通常使用二元决策树。

图 6:决策树类型

决策树 二元决策树 非二元决策树 二元条件 非二元条件

常见二进制条件类型

最常见的条件类型是阈值条件,表示为 feature ≥ threshold,如 num_legs ≥ 2。其他常见二元条件类型包括:

名称 条件 示例
阈值条件 ( feature_i \geq threshold ) num_legs ≥ 2
等式条件 ( feature_i = value ) species = 'cat'
在组合中的条件 ( feature_i \in collection ) species ∈ {'cat', 'dog', 'bird'}
倾斜条件 ( \sum_i weight_i feature_i \geq threshold ) 5 num_legs + 2 num_eyes ≥ 10
缺少功能 ( feature_i ) is Missing num_legs is Missing

YDF 代码示例

在 YDF 中,可使用 CART 学习器训练决策树模型:

python 复制代码
import ydf
model = ydf.CartLearner(label="my_label").train(dataset)
相关推荐
Ai-_Man36 分钟前
希望大家能推荐一款软件,可以直接把文心生成的代码变流程图,提高办公效率
人工智能·ai·小程序·流程图
AI02263 小时前
探秘AI Agent软件公司:开启智能时代的创新引擎
人工智能
fīɡЙtīиɡ ℡5 小时前
AI 应用系统设计
java·开发语言·人工智能
小淮AI5 小时前
国际教育课程的本土化探索:以枫叶教育三十年为观察样本
大数据·人工智能
又折桃枝换酒钱5 小时前
VisCoder2:构建多语言可视化编码智能体(翻译与解读)
人工智能·信息可视化
AI绘画哇哒哒5 小时前
【建议收藏!】35岁后端血泪忠告,这3类人别硬转Agent(过来人亲述)
java·人工智能·后端·ai·程序员·大模型·agent
Chengbei116 小时前
DSH渗透测试插件dsh-pentest全新升级!适配DeepSeek Harness,可视化探索链路,一键搭建轻量化AI渗透测试环境。
人工智能·web安全·网络安全·微信·小程序·系统安全·安全架构
QN1幻化引擎6 小时前
DalinX Phi 性能突破:跨层秩保持对齐与意识涌现度量的实证研究
人工智能·ai·架构·agi·asi
NeilCarmack6 小时前
Deepseek-harness增加桌面版端序列:第 1 讲 · 命令解析:`pnpm dsh desktop` 的第一步
人工智能·agent·ai agent