dev

Decision Tree

/wrote/note/dev/decision-tree/

Decision Tree

决策树是一种通过层层特征判断来做分类或预测的树形模型,表现形式很像流程图,因此比较直观。

优点

  • 可解释性强,适合向业务方说明判断逻辑
  • 对数据预处理要求相对较低
  • 训练和预测速度通常较快

缺点

  • 容易过拟合
  • 对训练数据的小变化比较敏感
  • 单棵树通常难以表达复杂特征之间的组合关系

构建过程

  1. 选择当前最优的划分特征
  2. 按特征取值切分数据集
  3. 对每个子集递归继续建树
  4. 当满足停止条件时停止分裂
  5. 需要时再做剪枝,降低过拟合风险

一个直观例子

假设我们要判断“某用户会不会购买会员”,可以用这些特征:

  • 是否经常访问
  • 是否已经注册
  • 是否看过付费内容

一棵简单的决策树可能像这样:

  1. 如果“没有注册”,先判断为“不购买”
  2. 如果“已经注册”且“经常访问”,再判断“看过付费内容没有”
  3. 如果“看过付费内容”,更可能购买

这种结构的好处是,业务方可以直接看到模型是如何一步步做判断的。