第3章 · Scikit-learn 实践应用 章节摘要:前两章我们把估计器、转换器、预测器、管道这些概念骨架搭好了,这一章把它们落到四类真实任务上:分类、回归、聚类、降维,最后补上模型的保存与部署,把整个机器学习闭环走完。你会先看到每类任务最趁手的算法怎么选、怎么跑通一个最小可用的流程,再回头理解评估指标和参数取舍。读完这一章,你应该能独立挑一个任务,从加载数据一路做到把训练好的模型序列化成文件,并知道部署时要盯住版本、环境、安全这几个坑。
章节摘要:前两章我们把估计器、转换器、预测器、管道这些概念骨架搭好了,这一章把它们落到四类真实任务上:分类、回归、聚类、降维,最后补上模型的保存与部署,把整个机器学习闭环走完。你会先看到每类任务最趁手的算法怎么选、怎么跑通一个最小可用的流程,再回头理解评估指标和参数取舍。读完这一章,你应该能独立挑一个任务,从加载数据一路做到把训练好的模型序列化成文件,并知道部署时要盯住版本、环境、安全这几个坑。
阅读完本章,你应当能够:
这一章的五节,正好对应一条从"问题"到"落地"的链路:前四节处理不同形态的数据和任务,第五节把前面训练出来的任何模型统一收口成可部署的产物。
先挑对算法,再用对指标,最后让模型走出训练脚本——这就是实践和"看懂原理"之间的那条分界线。
| 小节 | 回答的核心问题 | 你能带走的能力 |
|---|---|---|
| 3.1 分类任务 | 样本属于哪一类 | 选分类器、读混淆矩阵与各项指标 |
| 3.2 回归任务 | 连续数值是多少 | 选回归器、读懂误差指标 |
| 3.3 聚类任务 | 没标签怎么分组 | 对比三种聚类、用内部指标评估 |
| 3.4 降维任务 | 特征太多怎么办 | 区分 PCA、LDA、t-SNE 的用途 |
| 3.5 持久化与部署 | 模型怎么留存上线 | 序列化、版本兼容、部署注意 |
这条链路读起来是线性的,实际用的时候却是反复横跳的:你可能先跑分类,发现特征太多,跳到降维做压缩,再回来训练,最后统一走到持久化。章内的顺序只是为了讲清楚,不是规定你必须按部就班。四个任务里,降维常常以"预处理步骤"的身份插在别的前面,读的时候留意这一点。
⚠️ 别把这一章当算法目录背。四个任务的骨架是同一套——切分、预处理、训练、评估——真正要下功夫的是选型取舍和指标读法,而不是背 API。
💡 动手时先跑最小例子,再回头补原理。这一章每一节都以"能跑通"开头,就是这个用意:跑起来了,后面的取舍才有落点。
监督学习里最常见的一类。从一段能直接跑的分类代码入手,讲清二分类、多分类、多标签的区别,再逐个拆解逻辑回归、SVM、决策树、随机森林的适用边界,最后落到精确率、召回率、F1、AUC 这些指标怎么读。
预测目标从离散类别换成连续数值。先跑线性回归的最小例子,再讲线性模型、树模型和 L1、L2 正则化的取舍,最后解释 MSE、MAE、R 平方这些指标为什么不能脱离量纲单独看。
数据没有标签时的分组问题。对比 KMeans、层次聚类、DBSCAN 三种算法对簇形状的不同假设,并回答一个反直觉的问题:没有标准答案,怎么判断聚类做得好不好。
特征太多会带来维度灾难。把降维拆成特征选择与特征提取两条路,重点讲 PCA 找方差最大方向、LDA 找类别可分方向、t-SNE 专做可视化,让你在"去噪压缩"和"画图探索"之间选对工具。
训练好的模型不能只活在内存里。对比 pickle 与 joblib 的取舍,讲清版本兼容这个最容易踩的坑,再落到在线服务与批处理两种部署方式,以及版本、环境、输入校验这些工程细节。
前四节是并列的四类任务,共同依赖第 2 章的估计器与管道;第五节是一条收口线,把任何一类任务产出的模型统一转成可复用的文件。
┌──────────── 3.1 分类任务 ────────────┐ 第2章 核心概念 ──▶ │ 3.2 回归任务 3.3 聚类任务 │ ──▶ 3.5 模型持久化与部署 ──▶ 生产环境 (估计器/管道) │ 3.4 降维任务(常作为前三者的前置) │ └─────────────────────────────────────┘
降维这一节的位置有点特别:它既可以独立成题,也常常作为分类、回归、聚类之前的数据预处理步骤出现。读的时候可以把它理解成一条"侧支",需要时插到主流程前面。
实战闭环走完,第 4 章从"会用"走向"能改、能拼、能造"。