单元一

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

任务场景:给电脑看例子,让它学会再猜
任务场景:给电脑看例子,让它学会再猜
原理图:fit 学习 → predict 预测
原理图: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. 1明确任务「用一张「小表」训练近邻模型,对新人做一次预测。」:运行后你希望看到什么结果(文字、图形或计算结果)。
  2. 2用 print 把结果说出来,确认屏幕上出现预期内容。
  3. 3对照参考代码跑通后,只改一个参数,观察结果如何变化。

流程示意(可对照左侧文字)

明确任务「用一张「小表」训…用print把结果说出来,…对照参考代码跑通后,只改一…

五、语句功能讲解

下面只列出本课首次出现的语句/函数。已在前面课讲过的不再重复;先认新语句,再对照参考代码。

语句作用本课用法
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])

八、课堂练习

先完成两道正误判断,再做其余题目;选出后点「检查」。

  1. 判断:只抄参考代码,不看运行输出,也不改参数验证。

  2. 判断:先跑通,再对照「单元一」改一处输入/参数,确认输出按预期变化;答错小测时读讲解。

  3. fit 这一步主要在做什么?

  4. predict 这一步主要在做什么?

九、本节小结

机器学习 ≈ fit 学 + predict 猜;sklearn 是装这些工具的箱子。import sklearn 看版本。