单元一

第3课 数据:X、y、特征与标签

任务场景:鸢尾花——用花瓣数字描述一朵花
任务场景:鸢尾花——用花瓣数字描述一朵花
原理图:特征 X 与标签 y
原理图:特征 X 与标签 y

一、任务目标

亲手写一张小表,并打开鸢尾花数据看形状。

二、核心概念讲清楚

监督式学习里:特征 X 描述样本,标签 y 是要预测的答案。X 常是二维表(行=样本,列=特征),y 是一维。

  • 特征 X:用来描述的数字
  • 标签 y:类别或数值答案
  • 可用手写小表,也可用 load_iris() 等自带数据
1定问题要预测什么?
2选特征哪些数字能描述样本
3对齐标签每个样本一个 y
4检查形状样本数与 y 长度一致

三、跟着想一遍(小例子)

手写 X=[[1,0.3],[2,0.5],[4,0.8],[5,0.9]],y=[0,0,1,1]:4 个样本、2 个特征;len(X)==len(y)。

易错:X 有 4 行但 y 只有 3 个,或把 y 写成二维搞混。

正确:保证样本数一致;先 print(len(X), len(y)) 自检。

想一想:预测「是否及格」时,作业完成率更像 X 还是 y?(提示:用来描述的是 X,及格与否是 y。)

四、解题思路

任务:亲手写一张小表,并打开鸢尾花数据看形状。 先想清楚:输入是什么、处理后得到什么、屏幕上应出现什么。

本课主要用到:屏幕输出。

  1. 1明确任务「亲手写一张小表,并打开鸢尾花数据看形状。」:运行后你希望看到什么结果(文字、图形或计算结果)。
  2. 2用 print 把结果说出来,确认屏幕上出现预期内容。
  3. 3对照参考代码跑通后,只改一个参数,观察结果如何变化。

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

任务:亲手写一张小表…用print把结果说出来,…对照参考代码跑通后,只改一…

五、语句功能讲解

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

语句作用本课用法
len()求长度字符串字符数或列表元素个数。
shape()数组形状彩色图常见 (高, 宽, 通道)。

六、知识点讲解

特征是从原始数据里抽出、对判断有用的量;标签是我们想预测的答案。分类就是根据特征给样本贴标签。特征选不好,后面模型再复杂也难做好。

先弄清本课输入与输出,再进编程练习对照现象。

七、编程练习

先理解上面的例子,再在下方 Mixly 运行与检查(含 scikit-learn)。

看清样本数与特征维数。

参考代码(对照抄写到下方 Mixly)
# 手写小数据集:学习时长(小时)、作业完成率 → 是否及格(0/1)
X = [
    [1, 0.3],
    [2, 0.5],
    [4, 0.8],
    [5, 0.9],
]
y = [0, 0, 1, 1]
print("样本数:", len(X))
print("特征维数:", len(X[0]))
print("第1条特征:", X[0], "标签:", y[0])

八、课堂练习

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

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

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

  3. 在监督学习里,标签 y 通常表示?

  4. X 的一行通常代表?

九、本节小结

X 是特征表,y 是答案列。