单元一
第1课 什么是 sklearn——fit 与 predict 心智模型

一、任务目标
用一张「小表」训练近邻模型,对新人做一次预测。
二、核心概念讲清楚
机器学习 ≈ 用许多带答案的例子找规律,再对新人预测。sklearn 是工具箱;fit 负责「学」,predict 负责「猜」。
fit(X, y):用特征表 X 和标签 y 学习predict(新X):对没见过的样本给出预测- KNeighborsClassifier:看「最近的邻居」投票决定类别
1准备小表写出几行特征与标签
2创建模型如近邻分类器
3fit 学习把例子「教」给模型
4predict 预测输入新人特征看结果
三、跟着想一遍(小例子)
四个人:身高体重 [[150,40],[152,42],[170,65],[172,68]],标签 [0,0,1,1]。fit 后预测 [160,55],模型会找最近邻居投票得到 0 或 1。
易错:还没 fit 就 predict,或把标签和特征弄反。
正确:先 fit(X,y),再对「只有特征、没有答案」的新行 predict。
想一想:考试前刷题像哪一步?开考做新卷像哪一步?(提示:刷题≈fit,开考≈predict。)
四、解题思路
任务:用一张「小表」训练近邻模型,对新人做一次预测。 先想清楚:输入是什么、处理后得到什么、屏幕上应出现什么。
本课主要用到:屏幕输出。
- 1明确任务「用一张「小表」训练近邻模型,对新人做一次预测。」:运行后你希望看到什么结果(文字、图形或计算结果)。
- 2用 print 把结果说出来,确认屏幕上出现预期内容。
- 3对照参考代码跑通后,只改一个参数,观察结果如何变化。
流程示意(可对照左侧文字)
五、语句功能讲解
下面只列出本课首次出现的语句/函数。已在前面课讲过的不再重复;先认新语句,再对照参考代码。
| 语句 | 作用 | 本课用法 |
|---|---|---|
print() | 把内容显示到屏幕 | 括号里是要说出来的话或计算结果。 |
fit() | 训练模型 | 用已标注数据学习。 |
predict() | 用模型预测 | 对新样本给出结果。 |
sklearn() | 机器学习工具箱 | 用现成算法做训练与预测。 |
六、知识点讲解
模型是从数据里学到的可复用规则;训练就是用带标签(或可反馈)的数据不断调整,使预测越来越准。要分清:训练看的是「学习过程」,测试看的是「没见过的新例子行不行」。
先弄清本课输入与输出,再进编程练习对照现象。
七、编程练习
先理解上面的例子,再在下方 Mixly 运行与检查(含 scikit-learn)。
阅读后运行,看两次预测结果。
参考代码(对照抄写到下方 Mixly)
from sklearn.neighbors import KNeighborsClassifier
# 特征 X:身高(cm)、体重(kg) → 标签 y:0=矮组,1=高组(示意)
X = [[150, 40], [152, 42], [170, 65], [172, 68]]
y = [0, 0, 1, 1]
model = KNeighborsClassifier(n_neighbors=1)
model.fit(X, y) # 学:记住这些例子
print("预测 [160, 55]:", model.predict([[160, 55]])[0])
print("预测 [175, 70]:", model.predict([[175, 70]])[0])
正在载入编程环境
正在载入 Mixly 文本编程环境…
八、课堂练习
先完成两道正误判断,再做其余题目;选出后点「检查」。
判断:只抄参考代码,不看运行输出,也不改参数验证。
判断:先跑通,再对照「单元一」改一处输入/参数,确认输出按预期变化;答错小测时读讲解。
fit 这一步主要在做什么?
predict 这一步主要在做什么?
九、本节小结
机器学习 ≈ fit 学 + predict 猜;sklearn 是装这些工具的箱子。import sklearn 看版本。