决策树和随机森林

一、决策树(Decision Tree)

1. 什么是决策树?

决策树是一种基于树形结构的监督学习算法,常用于分类回归任务。它的核心思想是通过一系列的条件判断(决策规则),将输入数据逐步划分到不同的类别或预测值。决策树可以看作是一个"if-then-else"规则的集合,类似于人类决策的过程。

  • 结构:决策树由以下部分组成:

    • 根节点(Root Node):包含所有数据的起点。
    • 内部节点(Internal Node):表示一个特征上的条件判断。
    • 分支(Branch):表示条件判断的结果,连接到下一个节点。
    • 叶节点(Leaf Node):表示最终的输出(分类标签或回归值)。
  • 例子:假设你要判断一个人是否会购买某产品,可以根据"年龄"、“收入"和"教育水平"等特征,通过一系列条件(如"年龄 > 30?”、“收入 > 50000?”)来逐步划分,最终得出"是"或"否"。

2. 决策树的工作原理

决策树的构建过程可以分为以下步骤:

  1. 选择最优特征:从所有特征中选择一个特征进行划分,使得划分后的子集"更纯"(即分类更明确或回归值更集中)。
  2. 划分数据集:根据选定特征的某个阈值,将数据集分成多个子集。
  3. 递归构建子树:对每个子集重复上述步骤,直到满足停止条件(如最大深度、样本数不足等)。
  4. 输出结果:每个叶节点对应一个预测结果。

3. 决策树的数学基础

决策树的核心在于如何选择最优特征进行划分,这需要定义一个"纯度"或"不确定性"的指标。以下是常用的指标:

(1) 分类问题的指标
  • 信息增益(Information Gain)

    • 基于**熵(Entropy)**的概念。熵衡量数据集的不确定性,公式为:
      Entropy ( S ) = − ∑ i = 1 c p i log ⁡ 2 ( p i ) \text{Entropy}(S) = -\sum_{i=1}^c p_i \log_2(p_i) Entropy(S)=i=1cpilog2(pi)
      其中, S S S 是数据集, c c c 是类别数, p i p_i pi 是第 i i i 类样本的比例。
    • 信息增益表示划分后熵的减少量:
      IG ( A ) = Entropy ( S ) − ∑ v ∈ Values ( A ) ∣ S v ∣ ∣ S ∣ Entropy ( S v ) \text{IG}(A) = \text{Entropy}(S) - \sum_{v \in \text{Values}(A)} \frac{|S_v|}{|S|} \text{Entropy}(S_v) IG(A)=Entropy(S)vValues(A)SSvEntropy(Sv)
      其中, A A A 是特征, S v S_v Sv

你可能感兴趣的:(决策树,随机森林,算法)