决策树算法学习报告2

决策树算法学习与泰坦尼克号预测

一、学习背景与目的

在机器学习的众多算法中,决策树因结构直观、可解释性强,成为处理分类与回归问题的重要基础模型。本次学习围绕决策树的核心算法(ID3、C4.5、CART)、连续值处理方法及剪枝策略展开,旨在掌握决策树的原理与应用逻辑,为后续实践(如泰坦尼克号幸存者预测)奠定基础。

二、核心知识点总结

(一)三大经典决策树算法

三种算法的核心差异在于划分属性的选择标准,具体对比如下:

算法核心划分准则关键特点局限性 / 改进点
ID3信息增益信息增益越大,属性划分带来的 “纯度提升” 越高对可取值多的属性(如 “编号”)有偏好,易导致过拟合
C4.5信息增益率通过 “信息增益 ÷ 属性自身熵” 修正 ID3 的偏好问题,更平衡计算复杂度高于 ID3,仍需处理连续值等场景
CART基尼指数反映数据集纯度:\(Gini(D)=1-\sum_{k=1}^{n}p_k^2\)(\(p_k\)为类k的概率),基尼指数越小,纯度越高可同时处理分类与回归问题,划分时采用 “二分法”

(二)连续值的处理方法

决策树默认处理离散属性,对连续属性(如 “收入”“温度”)需通过离散化转换,核心步骤基于 “贪婪算法”:

  1. 排序:将连续属性的所有取值按升序排列(如示例中 “Taxable Income” 排序为:60K、70K、75K、…、220K);
  2. 确定分界点:若有m个不同取值,可生成\(m-1\)个二分分界点(如 10 个取值对应 9 个分界点);
  3. 选择最优分界点:计算每个分界点的划分效果(如信息增益、基尼指数),选择最优者作为最终分割点(如示例中 “TaxIn≤97.5” 与 “TaxIn>97.5”)。

(三)剪枝策略:解决过拟合问题

决策树若不剪枝,理论上可完全拟合训练数据,但易因 “过度复杂” 导致泛化能力下降(过拟合)。剪枝分为预剪枝与后剪枝两类:

剪枝类型操作时机核心方法优缺点
预剪枝边构建决策树边剪枝通过限制条件终止树的生长,如: - 限制树的最大深度; - 限制叶子节点的最少样本数; - 限制划分的最小信息增益优点:操作简单、计算成本低; 缺点:可能因 “提前终止” 导致欠拟合
后剪枝构建完决策树后剪枝计算 “损失函数” 判断是否剪枝,公式为: 最终损失 = 自身基尼系数 +α× 叶子节点数量 (α 为正则化系数,α 越大越抑制过拟合,α 越小越注重模型精度)优点:泛化能力更强,不易欠拟合; 缺点:需遍历完整决策树,计算复杂度高

示例:对 “色泽 =?” 分支剪枝前,验证集精度为 57.1%,剪枝后提升至 71.4%,说明剪枝有效提升了模型泛化能力。

(四)决策树代码实现(基于 Python)

核心调用sklearn.tree.DecisionTreeClassifier(),关键参数含义如下:

参数取值范围作用
criteriongini(默认)、entropy指定划分准则:gini 对应 CART 算法,entropy 对应 ID3/C4.5
splitterbest(默认)、random选择切分点的策略:best 遍历所有特征找最优,random 随机选部分特征
max_depthint/None限制树的最大深度,推荐 5-20(深度过大易过拟合)
max_featuresNone、log2、sqrt、N划分时考虑的最大特征数,None 表示使用所有特征

三、课堂练习思考:泰坦尼克号幸存者预测

(一)问题分析

预测目标为 “乘客是否幸存”(分类问题),需先确定特征变量(如乘客年龄、性别、船票等级、是否有亲属等),再通过决策树模型学习特征与 “幸存” 标签的关联。

(二)实现思路

  1. 数据预处理:处理缺失值(如年龄缺失可填充均值 / 中位数)、将离散特征(如性别、船票等级)编码,对连续特征(如年龄、票价)进行离散化;
  2. 模型训练:使用DecisionTreeClassifier(),设置合适参数(如max_depth=10criterion='gini');
  3. 模型优化:通过预剪枝(限制深度)或后剪枝(调整 α)降低过拟合风险,对比验证集精度选择最优模型;
  4. 结果分析:可视化决策树结构,观察关键决策节点(如 “性别是否为女性” 可能是影响幸存的重要因素)。

四、学习总结与疑问

(一)总结

  1. 决策树的核心是 “选择最优划分属性”,不同算法(ID3、C4.5、CART)通过不同准则(信息增益、信息增益率、基尼指数)实现这一目标;
  2. 连续值处理的本质是 “离散化”,需通过贪婪算法选择最优分界点;
  3. 剪枝是解决过拟合的关键,预剪枝侧重 “预防”,后剪枝侧重 “修正”,需根据场景选择;
  4. 代码实现中,参数调优(如max_depthcriterion)对模型效果影响显著,需结合实践验证。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值