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

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

摘要:本文深入探讨决策树模型的概念、构成以及不同条件类型。首先介绍决策树的基本结构和工作原理,随后详细阐述轴心对齐条件与倾斜条件、二元条件与非二元条件的差异及应用场景,并通过示例分析展示决策树在分类和回归任务中的实际应用,最后简要提及 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)
相关推荐
杜子不疼.1 小时前
计算机视觉热门模型手册:Spring Boot 3.2 自动装配新机制:@AutoConfiguration 使用指南
人工智能·spring boot·计算机视觉
无心水3 小时前
【分布式利器:腾讯TSF】7、TSF高级部署策略全解析:蓝绿/灰度发布落地+Jenkins CI/CD集成(Java微服务实战)
java·人工智能·分布式·ci/cd·微服务·jenkins·腾讯tsf
北辰alk8 小时前
RAG索引流程详解:如何高效解析文档构建知识库
人工智能
九河云8 小时前
海上风电“AI偏航对风”:把发电量提升2.1%,单台年增30万度
大数据·人工智能·数字化转型
wm10438 小时前
机器学习第二讲 KNN算法
人工智能·算法·机器学习
沈询-阿里8 小时前
Skills vs MCP:竞合关系还是互补?深入解析Function Calling、MCP和Skills的本质差异
人工智能·ai·agent·ai编程
xiaobai1788 小时前
测试工程师入门AI技术 - 前序:跨越焦虑,从优势出发开启学习之旅
人工智能·学习
盛世宏博北京9 小时前
云边协同・跨系统联动:智慧档案馆建设与功能落地
大数据·人工智能
TGITCIC9 小时前
讲透知识图谱Neo4j在构建Agent时到底怎么用(二)
人工智能·知识图谱·neo4j·ai agent·ai智能体·大模型落地·graphrag
逆羽飘扬9 小时前
DeepSeek-mHC深度拆解:流形约束如何驯服狂暴的超连接?
人工智能