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

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

摘要:本文深入探讨决策树模型的概念、构成以及不同条件类型。首先介绍决策树的基本结构和工作原理,随后详细阐述轴心对齐条件与倾斜条件、二元条件与非二元条件的差异及应用场景,并通过示例分析展示决策树在分类和回归任务中的实际应用,最后简要提及 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)
相关推荐
失散1312 分钟前
自然语言处理——02 文本预处理(下)
人工智能·自然语言处理
mit6.82437 分钟前
[1Prompt1Story] 滑动窗口机制 | 图像生成管线 | VAE变分自编码器 | UNet去噪神经网络
人工智能·python
sinat_2869451941 分钟前
AI应用安全 - Prompt注入攻击
人工智能·安全·prompt
迈火2 小时前
ComfyUI-3D-Pack:3D创作的AI神器
人工智能·gpt·3d·ai·stable diffusion·aigc·midjourney
Moshow郑锴3 小时前
机器学习的特征工程(特征构造、特征选择、特征转换和特征提取)详解
人工智能·机器学习
CareyWYR3 小时前
每周AI论文速递(250811-250815)
人工智能
AI精钢4 小时前
H20芯片与中国的科技自立:一场隐形的博弈
人工智能·科技·stm32·单片机·物联网
whaosoft-1434 小时前
51c自动驾驶~合集14
人工智能
C++、Java和Python的菜鸟4 小时前
第六章 统计初步
算法·机器学习·概率论
Jinkxs4 小时前
自动化测试的下一站:AI缺陷检测工具如何实现“bug提前预警”?
人工智能·自动化