决策树

知识点概述

决策树是一种基础的、可解释的机器学习模型,它通过一系列的“是/否”问题(即分割)来对数据进行划分,最终得到预测结果。它的树状结构非常直观,类似于人类的决策过程。

教材原文

基于树的模型根据特征中的某些截断值多次分割 (Split, 或称分裂、拆分) 数据。通过分割,可以创建数据集的不同子集,每个实例都属于一个子集。最后的子集称为终端 (Terminal) 或叶节点 (Leaf Nodes),中间的子集称为内部节点 (Internal Nodes) 或分裂节点 (Split Nodes)。为了预测每个叶节点的结果,使用该节点中训练数据的平均结果。树模型可用于分类和回归。

详细解释

  • 核心原理: 决策树学习的核心是“分而治之”。它从根节点开始,选择一个最优特征和一个最优分割点,将数据集划分为两个或多个子集,使得每个子集内的目标值尽可能“纯净”(即相似)。然后对每个子集递归地重复这个过程,直到满足某个停止条件为止。
  • 模型结构:
    • 根节点 (Root Node): 代表整个数据集,是树的起点。
    • 内部节点 (Internal Node): 代表一个特征的分割问题,例如“温度 < 20°C?”。
    • 叶节点 (Leaf Node / Terminal Node): 代表一个最终的决策或预测结果。落入该叶节点的所有实例都会被赋予相同的预测值。
    • 边 (Edge): 连接节点的线,代表一个决策路径。
  • 学习算法 (以CART为例):
    1. 选择最优分割: 遍历所有特征和所有可能的分割点,找到能够最大程度降低“不纯度”的分割。
      • 回归任务: 使用**方差 (Variance)**作为不纯度度量,目标是使分割后子节点的方差之和最小。
      • 分类任务: 使用**基尼指数 (Gini Index)信息增益 (Information Gain)**作为不纯度度量,目标是使子节点的基尼指数或熵最低。
    2. 递归分割: 对分割后的子集重复步骤1。
    3. 停止条件: 当满足以下任一条件时停止分割:
      • 节点已完全纯净(所有实例属于同一类别或具有相同值)。
      • 达到预设的最大深度。
      • 节点中的实例数量少于预设的最小数量。
  • 预测: 对于一个新的数据实例,从根节点开始,根据其特征值沿着树的路径向下走,最终到达一个叶节点,该叶节点的预测值就是该实例的预测结果。

学习要点

  • 理解决策树的“树状”结构及其组成部分(根、内部节点、叶节点)。
  • 掌握决策树的“分而治之”的学习策略。
  • 了解回归树和分类树在选择分割点时使用的不同不纯度度量(方差 vs. 基尼指数/信息增益)。
  • 知道决策树的生长需要有停止条件来防止过拟合。

实践应用

  • 客户分群: 根据客户的人口统计学和消费行为,将他们划分为不同的群体以进行精准营销。
  • 医疗诊断: 根据病人的症状和检查结果,构建一个决策流程来辅助诊断疾病。
  • 故障检测: 根据机器的传感器读数,判断机器是否可能发生故障。

关联知识点