单元二

第7课 给样本贴对标签——数据采集、标注与统计

任务场景:给样本卡贴上水果/蔬菜标签
任务场景:给样本卡贴上水果/蔬菜标签

一、任务目标

理解数据要先采集、再由人贴标签,统计各类数量可检查是否均衡;能统计一份名单里水果与蔬菜的个数。

二、我们要学什么

  • 学习要点:给样本贴对标签|数据采集、标注与统计
  • 本课过关:能完成:说出标注是给人看的标准答案,标错了模型就会学错;载入体验程序,指出可用循环计数;改一份标签后重新统计,个数跟着变。
  • 示例对齐:体验题对应本课「编程体验」;完整代码对应编程题1;补全与独立编写对应编程题2–3。均在 Mixly 图形化积木中完成。

三、本节要点

本课要认识采集与标注。重难点是标签必须与任务一致,数量过偏会影响后面的学习。要点对齐「给样本贴对标签|数据采集、标注与统计」。

1读场景明确真实任务
2对要点给样本贴对标签|数据采集、标注与统计
3载入运行图形化积木

四、解题思路

任务:给样本贴标签并统计各类个数。请分清:采集得到样本,标注得到标准答案。

本课主要用到:Mixly 图形化积木与屏幕输出。

  1. 1明确任务「计数各类标签」:输出应是各类的个数。
  2. 2遍历样本,用 if 判断标签并累加。
  3. 3改一处标签后重跑,核对个数是否跟随。

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

任务:计数各类标签遍历样本,用 if 判断标签并累加改一处标签后重跑

五、图形块功能讲解

下面只列出本课首次出现的 Mixly 图形块(真积木截图)。已在前面课讲过的不再重复;先认新块,再点「载入」对照拖搭。

图形块分类作用本课用法
计数循环范围
控制生成一段整数范围,常配合 for 循环。本课编程练习中首次使用,载入后可在工具箱对照。

六、知识点讲解

采集得到样本,标注由人贴上标准类别名。本课给样本贴对标签——标错了,后面的模型就会学错。统计各类个数,可检查数据是否过偏。本课只要求会计数,不要求训练复杂模型。

先弄清:标签是人给的标准答案;再进编程练习对照个数。

七、编程练习

用下拉列表切换题目;下方 Mixly 默认显示图形化积木。请在 Mixly 工具栏点「运行」;「检查」读取 Mixly 代码自动判题。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。

参考代码(对照抄写到下方 Mixly)
samples = [
    ("苹果", "水果"), ("白菜", "蔬菜"), ("香蕉", "水果"),
    ("萝卜", "蔬菜"), ("葡萄", "水果"),
]

def count_label(data, label):
    n = 0
    for i in range(len(data)):
        lab = data[i][1]
        if lab == label:
            n = n + 1
    return n

print(count_label(samples, "水果"))
print(count_label(samples, "蔬菜"))

八、课堂练习

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

  1. 判断:数据标错,后面的模型也可能把错误学进去。

  2. 判断:蔬菜样本太少时,把计数结果改成和水果一样多,就是正确的平衡方法。

  3. 「标注」指的是?

  4. 统计各类个数,主要是为了?

  5. 本课对数据的要求,重点是?

九、本节小结

本课主题是采集与标注:先收集样本,再贴标签,并统计各类个数。标错则后面会学错。