当前位置: 首页 > news >正文

基础分类决策树

一、数据预处理:模型效果的 “基石”

两个案例共同印证了 “数据质量决定模型上限” 的真理。在泰坦尼克号项目中,原始数据存在大量缺失值 —— 如 “Age”(年龄)缺失率约 20%、“Cabin”(船舱)缺失率超 77%,若直接删除缺失样本会导致数据量骤减,影响模型泛化能力。通过对比 “用中位数填充年龄”“按乘客等级(Pclass)分组填充年龄” 两种方案,我发现后者更符合逻辑(如头等舱乘客年龄普遍更高),最终使模型准确率提升约 5%。而在红酒质量预测中,数据无缺失值,但特征间量纲差异极大(如 “酒精含量” 范围为 8-14,“硫酸盐” 范围为 0.3-2.8),若不进行标准化处理,会导致随机森林、SVM 等模型过度偏向数值大的特征。通过 Z-score 标准化将所有特征缩放到均值为 0、标准差为 1 的区间后,模型 MAE(平均绝对误差)显著降低,证明了 “消除量纲影响” 对回归类任务的重要性。

同时,特征工程的 “针对性” 是关键。泰坦尼克号案例中,“Name” 字段看似无意义,但提取其中的 “头衔”(如 Mr.、Mrs.、Miss.)并转化为分类特征后,模型能捕捉到性别与社会地位的潜在关联(如 Miss. 存活率高于 Mr.);而红酒质量预测中,通过计算 “酸度比率”(柠檬酸 / 总酸度)、“酒精 - 密度乘积” 等衍生特征,有效强化了化学成分间的交互关系,让模型更精准地识别 “高酒精 + 低密度” 这类优质红酒的特征组合。

二、模型选择与调优:平衡 “拟合” 与 “泛化”

不同任务的核心目标差异,决定了模型选择的方向。泰坦尼克号生存预测是二分类任务,重点在于 “准确率” 与 “召回率” 的平衡 —— 若仅追求高准确率,可能遗漏大量本可存活的乘客(如儿童、女性)。通过对比逻辑回归、决策树、随机森林三种模型,我发现:逻辑回归解释性强,能清晰得出 “女性存活概率是男性的 3 倍”“头等舱乘客存活概率高于三等舱 50%” 等结论,但对非线性特征(如 “年龄 - 舱位” 的交互影响)捕捉不足;决策树虽能拟合非线性关系,却易出现过拟合(如将 “某乘客的特殊姓名后缀” 作为判断依据);而随机森林通过集成多棵决策树,既保留了对非线性特征的捕捉能力,又通过 “特征随机选择”“样本随机抽样” 降低了过拟合风险,最终测试集准确率达到 83%,且召回率(正确预测存活的比例)提升至 78%,兼顾了预测精度与实际意义。

红酒质量预测则是多分类(质量评分 1-10 分)或回归任务,核心是 “减少预测偏差”。由于红酒质量受化学成分影响呈现连续且复杂的关联,线性回归难以拟合;而 K 近邻(KNN)模型对局部数据敏感,易受异常值(如某瓶红酒因检测误差导致 “酒精含量异常高”)干扰;最终选择梯度提升树(XGBoost),通过迭代优化弱分类器,有效降低了模型的偏差与方差,不仅将预测评分与真实评分的平均误差控制在 0.5 分以内,还能通过特征重要性分析,明确 “酒精含量”“挥发性酸度”“硫酸盐” 是影响红酒质量的 Top3 因素,与行业常识高度吻合,验证了模型的合理性。

此外,超参数调优是提升模型性能的关键步骤。在两个案例中,我均采用 “网格搜索 + 交叉验证” 的方法:如泰坦尼克号的随机森林,通过遍历 “决策树数量(n_estimators)”“最大深度(max_depth)”“最小样本分裂数(min_samples_split)” 等参数组合,发现当 n_estimators=200、max_depth=8 时,模型在 5 折交叉验证中的平均准确率最高;而红酒质量的 XGBoost 模型,通过调整 “学习率(learning_rate=0.1)”“树的数量(n_estimators=150)”,避免了模型在训练集上的过拟合,使测试集误差进一步降低 12%。

三、结果分析:从 “预测” 到 “洞察”

机器学习的价值不仅在于 “准确预测”,更在于通过结果反推业务逻辑。在泰坦尼克号案例中,模型的特征重要性排序显示 “性别”“舱位等级”“年龄” 是影响生存的前三大因素,这与历史事实中 “妇女和儿童优先登救生艇”“头等舱乘客拥有优先逃生权” 的背景完全一致,说明模型不仅学会了 “预测”,更捕捉到了事件背后的人文逻辑;而通过混淆矩阵分析,我发现模型对 “三等舱男性” 的存活预测误差较大,进一步挖掘数据后发现,部分三等舱男性因协助他人逃生延迟登艇,却被模型误判为 “低存活概率”,这一发现也为后续优化(如增加 “是否协助他人” 的特征假设)提供了方向。

红酒质量预测的结果则直接具备商业价值。模型明确的 “高酒精含量(12.5% 以上)+ 低挥发性酸度(0.6 以下)” 优质红酒特征,可指导酒庄调整酿造工艺;同时,对 “评分 6-7 分” 的红酒预测准确率最高(92%),而对 “评分 1-2 分(劣质)” 和 “9-10 分(顶级)” 的预测误差较大,这一结论提示:若需针对顶级红酒做精准筛选,需补充更多高端红酒样本,解决数据分布不均衡的问题。

四、总结与反思:机器学习的 “道” 与 “术”

通过这两个案例的实践,我深刻认识到:机器学习不是 “调包跑模型” 的机械操作,而是 “数据理解 - 特征工程 - 模型选择 - 结果验证” 的闭环思维。首先,业务理解是前提—— 若不了解泰坦尼克号的历史背景,就无法想到提取 “头衔” 特征;若不熟悉红酒酿造知识,也难以构建 “酸度比率” 等有效衍生特征。其次,数据驱动需兼顾逻辑—— 当模型结果与常识冲突时(如某红酒 “高酒精却低评分”),需优先检查数据是否存在异常(如检测错误),而非盲目信任模型。最后,模型没有 “最优”,只有 “最适合”—— 逻辑回归虽简单,却在解释性要求高的场景中优于复杂模型;XGBoost 虽强大,却需更多计算资源与调优时间,需根据任务目标(精度、效率、解释性)灵活选择。

未来学习中,我将进一步探索 “不平衡数据处理”(如泰坦尼克号中存活样本仅占 38%)、“模型可解释性工具”(如 SHAP、LIME)的应用,同时尝试将两个案例的方法论迁移到其他场景(如客户流失预测、产品质量检测),真正实现从 “学会” 到 “会用” 的跨越。

http://www.dtcms.com/a/339211.html

相关文章:

  • 疯狂星期四文案网第44天运营日记
  • 力扣hot100:找到字符串中所有字母异位词(滑动窗口 + 字符频率数组)(438)
  • Java实现一个加法运算
  • 《Java 多线程全面解析:从基础到生产者消费者模型》
  • 基于Paddle和YOLOv5实现 车辆检测
  • Markdown to PDF/PNG Converter
  • 浅看架构理论(二)
  • 儒释道中的 “不二” 之境:超越对立的智慧共鸣及在软件中的应用
  • Linux的基本操作
  • AC 内容审计技术
  • UE5 使用RVT制作地形材质融合
  • 【LeetCode】3655. 区间乘法查询后的异或 II (差分/商分 + 根号算法)
  • 部署Qwen-Image
  • 【AAOS】Android Automotive 16模拟器源码下载及编译
  • 【LeetCode题解】LeetCode 153. 寻找旋转排序数组中的最小值
  • HJ2 计算某字符出现次数
  • C语言关于函数传参和返回值的一些想法2(参数可修改的特殊情况)
  • 从数据孤岛到实时互联:Canal 驱动的系统间数据同步实战指南
  • 在职老D渗透日记day21:sqli-labs靶场通关(第27a关)get联合注入 过滤select和union “闭合
  • C# 13 与 .NET 9 跨平台开发实战(第一章:开发环境搭建与.NET概述)
  • Milvus 向量数据库中的索引类型
  • SQL 语句进阶实战:从基础查询到性能优化全指南
  • K8s命名空间:资源隔离与管理的核心
  • 轻量级milvus安装和应用示例
  • 一文精通 Swagger 在 .NET 中的全方位配置与应用
  • 软件测试-Selenium学习笔记
  • Dify-MCP服务创建案例
  • 循环高级综合练习①
  • 46 C++ STL模板库15-容器7-顺序容器-双端队列(deque)
  • 人工智能统一信息结构的挑战与前景