决策树-面试题

1. 决策树基本概念​

​定义​ ​:一种树形结构分类模型,通过特征判断序列(内部节点)逐步决策,最终到达表示分类结果的叶子节点。

​结构组成​​:

  • ​内部节点​:特征判断条件(如"年龄>30?")
  • ​分支​:判断结果的路径("是"或"否")
  • ​叶子节点​:最终分类结果(如"拒绝贷款")

​2. 熵(Entropy)的作用​

​定义​ ​:信息论中度量随机变量不确定性的指标,计算公式:

​作用​​:

  • ​量化数据纯度​:熵越小,数据越纯净(如全为同一类别)
  • ​指导特征选择​:ID3/C4.5算法中,通过熵减(信息增益)选择分裂特征

​3. CART vs ID3/C4.5 的核心区别​

​维度​ ​ID3/C4.5​ ​CART​
​任务支持​ 仅分类 分类 + 回归
​树结构​ 多叉树 二叉树
​分裂准则​ ID3:信息增益 C4.5:信息增益率 分类:基尼指数 回归:平方误差最小化
​缺陷解决​ C4.5修正ID3的多值特征偏好 二叉树结构避免多值特征问题

​4. 节点切分依据​

不同算法使用不同分裂准则:

​算法​ ​分裂依据​ ​公式/说明​
​ID3​ 信息增益最大
​C4.5​ 信息增益率最大
​CART​ 基尼指数最小(分类) 平方误差最小(回归)

​5. 剪枝的原因与方法​

​为什么剪枝​​:

  • ​过拟合风险​:决策树过度学习训练集噪声
  • ​泛化需求​:提高模型在未知数据的表现

​常用剪枝方法​​:

​类型​ ​操作​ ​优缺点​
​预剪枝​ 树生成中提前停止分裂(如限制深度、叶节点样本数) ✅ 训练快 ❌ 可能欠拟合
​后剪枝​ 生成完整树后,自底向上替换子树为叶节点(如CCP代价复杂度剪枝) ✅ 保留有效分支 ❌ 计算开销大

​总结关键记忆点​​:

  1. ​熵和基尼指数​:衡量数据混乱度,指导特征选择
  2. ​算法差异​:CART的二叉树和回归能力是最大特色
  3. ​剪枝本质​:模型复杂度和泛化能力的trade-off
相关推荐
flashlight_hi6 小时前
LeetCode 分类刷题:2563. 统计公平数对的数目
python·算法·leetcode
java1234_小锋6 小时前
Scikit-learn Python机器学习 - 特征预处理 - 归一化 (Normalization):MinMaxScaler
python·机器学习·scikit-learn
西猫雷婶7 小时前
scikit-learn/sklearn学习|广义线性回归损失函数的基本表达式
深度学习·神经网络·学习·机器学习·线性回归·scikit-learn·概率论
前端世界7 小时前
HarmonyOS 数据处理性能优化:算法 + 异步 + 分布式实战
算法·性能优化·harmonyos
楼田莉子7 小时前
C++算法专题学习:栈相关的算法
开发语言·c++·算法·leetcode
kyle~7 小时前
排序---冒泡排序(Bubble Sort)
c语言·c++·算法
l1t7 小时前
我改写的二分法XML转CSV文件程序速度追上了张泽鹏先生的
xml·c语言·人工智能·算法·expat
一碗白开水一7 小时前
【论文阅读】Far3D: Expanding the Horizon for Surround-view 3D Object Detection
论文阅读·人工智能·深度学习·算法·目标检测·计算机视觉·3d
nju_spy7 小时前
李沐深度学习论文精读(二)Transformer + GAN
人工智能·深度学习·机器学习·transformer·gan·注意力机制·南京大学