第1章 · Scikit-learn 基础 章节摘要:本章解决两个前置问题——Scikit-learn 到底是什么、它的内部怎么组织。我们不急着推导任何算法,而是先把这座工具箱打开给你看:它跟 NumPy、Pandas 这些底层库是什么关系,跟 TensorFlow、PyTorch 又划在哪条边界上。读完你能分清"即用型工具集"和"底层框架"两种定位,能对着模块地图找到数据从加载、预处理到建模、评估该走哪条路径。这一章是整个教程的地基,后面几章的估计器、转换器、管道,都建立在"统一接口"这个设计前提之上。
章节摘要:本章解决两个前置问题——Scikit-learn 到底是什么、它的内部怎么组织。我们不急着推导任何算法,而是先把这座工具箱打开给你看:它跟 NumPy、Pandas 这些底层库是什么关系,跟 TensorFlow、PyTorch 又划在哪条边界上。读完你能分清"即用型工具集"和"底层框架"两种定位,能对着模块地图找到数据从加载、预处理到建模、评估该走哪条路径。这一章是整个教程的地基,后面几章的估计器、转换器、管道,都建立在"统一接口"这个设计前提之上。
阅读完本章,你应当能够:
本章只立两根柱子:"是什么"(1.1 简介)和**"怎么组织"**(1.2 核心模块)。下面这张图是章内逻辑的鸟瞰,也是全书骨架的入口。
一句话点题:Scikit-learn 不是让你从零造轮子,而是把机器学习里每个环节都做成了一个"接口一致的零件",你的工作是看懂这些零件怎么拼。
这里再点破一层:把"是什么"和"怎么组织"分开看,是为了先让你接受一个反直觉的结论——Scikit-learn 的学习成本主要不在算法,而在接口。算法你早晚会逐个遇到,接口却从头到尾只有一套。先把它吃透,后面再多的模块也只是往这套骨架上挂肉。
下面这张模块地图把核心模块按功能区摊开:左边是数据入口,中间是特征加工与模型,右边是评估与组合。它不是官方目录树,而是一张"该去哪找工具"的地图。

模块分区的文字版如下,方便你对照记忆:
| 功能分区 | 核心模块 | 回答的问题 |
|---|---|---|
| 数据入口 | datasets | 数据从哪来 |
| 特征加工 | preprocessing、feature_selection | 数据怎么变干净、变好用 |
| 切分与调参 | model_selection | 怎么切数据、怎么选参数 |
| 监督学习 | linear_model、tree、ensemble、svm、neighbors、naive_bayes | 有标签,怎么学会预测 |
| 无监督学习 | cluster、decomposition、manifold | 没标签,怎么发现结构 |
| 评估与组合 | metrics、pipeline | 怎么打分、怎么把步骤串起来 |
这张地图里藏着两个设计承诺。第一个是接口统一——不论你在哪个分区拿到的零件,行为方式都一致:fit 就是学、predict 就是猜,跨模块没有第二种方言。第二个是模块单一职责——datasets 只负责给数据,不掺和怎么切;metrics 只负责打分,不掺和怎么训。两个承诺加在一起,你才敢把一个模块的零件放心地交给另一个模块去组合,而不是每拼一步都担心接口对不上。
回答"它是什么、能干什么、边界在哪"。这一节先用一段能跑的最小例子建立手感——加载鸢尾花、切分、标准化、训练、打分,五步走完一遍。再回头讲定位:它是一套即用型工具集,站在 NumPy、SciPy 之上,专攻传统机器学习;跟 TensorFlow、PyTorch 走的是两条不同的路,一个管"现成模型怎么用对",一个管"网络结构怎么造"。
把库按功能拆成几个区——数据、预处理、模型选择、监督学习、无监督学习、管道。这一节逐个讲清每个模块管哪一段、典型零件是什么、什么时候用,让你在写代码前先在脑子里有张地图,而不是在错误的地方找接口。
两节的接力点在于"接口"二字:1.1 反复强调的 fit / predict 一致性,正是 1.2 里每个模块能够互相拼装的前提。没有统一接口,模块就只是散落的零件;有了它,模块才是一条能跑的流水线。
1.1 先立"统一接口"这个前提,1.2 再用模块地图把前提落到具体零件上。没有 1.1 的定位,1.2 的模块清单就只是一串需要死记的名字。
即用型工具集(1.1) │ 统一接口这个设计前提 ▼ 核心模块分区(1.2) │ datasets 进 → preprocessing 洗 → model_selection 切 → 算法建模 → pipeline 串 ▼ 第 2 章 估计器 / 转换器 / 预测器(把模块背后的三种对象抽象讲透)
把这两节读完,你手上就多了一张"工具在哪、怎么串"的地图。接下来第 2 章要做的,是把地图上那些零件背后的三种对象——估计器、转换器、预测器——一个个拆开,看清它们到底在"学什么、转什么、猜什么"。
⚠️ 一个常被忽略的前提:本章讲的是"怎么用对",不是"算法怎么推"。别急着跳进公式,先把工具在哪、接口长什么样摸熟,后面能省很多事。
💡 关键直觉:Scikit-learn 里几乎每个零件都长着同一副面孔——
fit学、transform转、predict猜。记住这三板斧,本章你就抓住了大半。
地图在手,下一步进第 2 章——把模块背后的三种对象(估计器、转换器、预测器)拆开讲透。