决策树
知识点概述
决策树是一种基础的、可解释的机器学习模型,它通过一系列的“是/否”问题(即分割)来对数据进行划分,最终得到预测结果。它的树状结构非常直观,类似于人类的决策过程。
教材原文
基于树的模型根据特征中的某些截断值多次分割 (Split, 或称分裂、拆分) 数据。通过分割,可以创建数据集的不同子集,每个实例都属于一个子集。最后的子集称为终端 (Terminal) 或叶节点 (Leaf Nodes),中间的子集称为内部节点 (Internal Nodes) 或分裂节点 (Split Nodes)。为了预测每个叶节点的结果,使用该节点中训练数据的平均结果。树模型可用于分类和回归。
详细解释
- 核心原理: 决策树学习的核心是“分而治之”。它从根节点开始,选择一个最优特征和一个最优分割点,将数据集划分为两个或多个子集,使得每个子集内的目标值尽可能“纯净”(即相似)。然后对每个子集递归地重复这个过程,直到满足某个停止条件为止。
- 模型结构:
- 根节点 (Root Node): 代表整个数据集,是树的起点。
- 内部节点 (Internal Node): 代表一个特征的分割问题,例如“温度 < 20°C?”。
- 叶节点 (Leaf Node / Terminal Node): 代表一个最终的决策或预测结果。落入该叶节点的所有实例都会被赋予相同的预测值。
- 边 (Edge): 连接节点的线,代表一个决策路径。
- 学习算法 (以CART为例):
- 选择最优分割: 遍历所有特征和所有可能的分割点,找到能够最大程度降低“不纯度”的分割。
- 回归任务: 使用**方差 (Variance)**作为不纯度度量,目标是使分割后子节点的方差之和最小。
- 分类任务: 使用**基尼指数 (Gini Index)或信息增益 (Information Gain)**作为不纯度度量,目标是使子节点的基尼指数或熵最低。
- 递归分割: 对分割后的子集重复步骤1。
- 停止条件: 当满足以下任一条件时停止分割:
- 节点已完全纯净(所有实例属于同一类别或具有相同值)。
- 达到预设的最大深度。
- 节点中的实例数量少于预设的最小数量。
- 选择最优分割: 遍历所有特征和所有可能的分割点,找到能够最大程度降低“不纯度”的分割。
- 预测: 对于一个新的数据实例,从根节点开始,根据其特征值沿着树的路径向下走,最终到达一个叶节点,该叶节点的预测值就是该实例的预测结果。
学习要点
- 理解决策树的“树状”结构及其组成部分(根、内部节点、叶节点)。
- 掌握决策树的“分而治之”的学习策略。
- 了解回归树和分类树在选择分割点时使用的不同不纯度度量(方差 vs. 基尼指数/信息增益)。
- 知道决策树的生长需要有停止条件来防止过拟合。
实践应用
- 客户分群: 根据客户的人口统计学和消费行为,将他们划分为不同的群体以进行精准营销。
- 医疗诊断: 根据病人的症状和检查结果,构建一个决策流程来辅助诊断疾病。
- 故障检测: 根据机器的传感器读数,判断机器是否可能发生故障。
关联知识点
- 前置知识: 2-核心概念-监督学习
- 后续知识: 21-技术实现-决策树的解释, 22-理论方法-决策规则, 随机森林, 梯度提升树