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

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

摘要:本文深入探讨决策树模型的概念、构成以及不同条件类型。首先介绍决策树的基本结构和工作原理,随后详细阐述轴心对齐条件与倾斜条件、二元条件与非二元条件的差异及应用场景,并通过示例分析展示决策树在分类和回归任务中的实际应用,最后简要提及 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)
相关推荐
子燕若水3 小时前
Unreal Engine 5中的AI知识
人工智能
极限实验室4 小时前
Coco AI 实战(一):Coco Server Linux 平台部署
人工智能
杨过过儿4 小时前
【学习笔记】4.1 什么是 LLM
人工智能
巴伦是只猫4 小时前
【机器学习笔记Ⅰ】13 正则化代价函数
人工智能·笔记·机器学习
大千AI助手4 小时前
DTW模版匹配:弹性对齐的时间序列相似度度量算法
人工智能·算法·机器学习·数据挖掘·模版匹配·dtw模版匹配
AI生存日记4 小时前
百度文心大模型 4.5 系列全面开源 英特尔同步支持端侧部署
人工智能·百度·开源·open ai大模型
LCG元5 小时前
自动驾驶感知模块的多模态数据融合:时序同步与空间对齐的框架解析
人工智能·机器学习·自动驾驶
why技术5 小时前
Stack Overflow,轰然倒下!
前端·人工智能·后端
超龄超能程序猿6 小时前
(三)PS识别:基于噪声分析PS识别的技术实现
图像处理·人工智能·计算机视觉