单元六

第19课 记录我的一天活动——训练测试小闭环

任务场景:把身边的活动记录做成小项目数据
任务场景:把身边的活动记录做成小项目数据

一、任务目标

理解闭环是「准备数据→训练→测试」连成一圈并能再跑下一次;能把一天活动标注后写入字典模型,再在测试上计分。

二、我们要学什么

  • 学习要点:记录我的一天活动|训练测试小闭环
  • 本课过关:能完成:说出缺训练或缺测试环会断;载入体验程序,指出先用标注数据写入模型,再用另一批活动检查;改一条训练后测试结果跟着变。
  • 示例对齐:体验题对应本课「编程体验」;完整代码对应编程题1;补全与独立编写对应编程题2–3。均在 Mixly 图形化积木中完成。

三、本节要点

本课要认识训练—测试闭环。重难点是三步齐全:有数据、有学习、有另考。要点对齐「记录我的一天活动|训练测试小闭环」。

1读场景明确真实任务
2对要点记录我的一天活动|训练测试小闭环
3载入运行图形化积木

四、解题思路

任务:标注一天活动,训练后再测试。请分清哪一批用来学、哪一批用来考。

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

  1. 1明确任务「跑通小闭环」:训练与测试都要出现。
  2. 2用标注数据写入模型,再用未参与训练的活动检查。
  3. 3改一条训练数据后重测,观察得分是否跟随。

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

任务:跑通小闭环用标注数据写入模型改一条训练数据后重测

五、图形块功能讲解

本课用到的 Mixly 图形块均已在前面的课讲过。请直接对照编程练习搭积木;若有遗忘,回到该积木首次出现的课页复习。

六、知识点讲解

闭环把准备数据、训练、测试连成一圈,并可进入下一次。缺标注则无从学习,缺测试则不知会不会。本课用一天活动作例子,模型仍是可观察的字典对应。

先弄清:学和考都要有;再进编程练习对照计分。

七、编程练习

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

参考代码(对照抄写到下方 Mixly)
data = [("早读", "学习"), ("打球", "运动"), ("写作业", "学习"), ("跑步", "运动")]

def train(data):
    model = {}
    for i in range(len(data)):
        item = data[i]
        model[item[0]] = item[1]
    return model

def test(model, pairs):
    ok = 0
    for i in range(len(pairs)):
        x = pairs[i][0]
        y = pairs[i][1]
        if model.get(x) == y:
            ok = ok + 1
    return ok / len(pairs)

model = train(data)
score = test(model, [("早读", "学习"), ("打球", "运动")])
print(score)

八、课堂练习

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

  1. 判断:train 之后仍然需要用测试集检查,不能只用训练集自测就宣称已经学会。

  2. 判断:只要正确率数字好看,就不必说明数据来源,人也不用再决定。

  3. 本课「记录一天活动」的模型,主要是?

  4. 项目中应能说清?

  5. 测试之后如果分数不理想,合理做法是?

九、本节小结

本课主题是训练—测试闭环:标注→训练→另考。三步缺一,交互或评价就会断。