单元三
第13课 点归到更近中心——最近邻一步归堆

一、任务目标
理解最近邻归堆是把样本分到距离更近的中心;能比较到两个中心的距离,并把点归入较近的一堆。
二、我们要学什么
- 学习要点:点归到更近中心|最近邻一步归堆
- 本课过关:能完成:说出「更近」由距离决定;载入体验程序,指出样本被归到较近中心;移动中心或样本后重新运行,归属可能改变。
- 示例对齐:体验题对应本课「编程体验」;完整代码对应编程题1;补全与独立编写对应编程题2–3。均在 Mixly 图形化积木中完成。
三、本节要点
本课要认识按距离归堆。重难点是先算到各中心的距离,再选最小者;不要凭感觉分堆。要点对齐「点归到更近中心|最近邻一步归堆」。
1读场景明确真实任务
2对要点点归到更近中心|最近邻一步归堆
3载入运行图形化积木
四、解题思路
任务:把一个点归到更近的中心。请分清输入(点与中心的坐标)与输出(归属哪一堆)。
本课主要用到:Mixly 图形化积木与屏幕输出。
- 1明确任务「归到更近中心」:输出应是堆号或中心名。
- 2分别计算到各中心的曼哈顿距离,取较小者。
- 3移动一个点后重算,观察归属是否变化。
流程示意(可对照左侧文字)
五、图形块功能讲解
本课用到的 Mixly 图形块均已在前面的课讲过。请直接对照编程练习搭积木;若有遗忘,回到该积木首次出现的课页复习。
六、知识点讲解
最近邻归堆把样本分到距离更近的中心:先算到各中心的距离,再选最小的一个。本课用点归到更近中心作例子,这是无监督分堆的一步。中心或样本一动,归属就可能改变。
先弄清:更近由距离决定;再进编程练习对照归属。
七、编程练习
用下拉列表切换题目;下方 Mixly 默认显示图形化积木。请在 Mixly 工具栏点「运行」;「检查」读取 Mixly 代码自动判题。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。
参考代码(对照抄写到下方 Mixly)
def dist(a, b):
return abs(a[0] - b[0]) + abs(a[1] - b[1])
def nearer(point, c1, c2):
d1 = dist(point, c1)
d2 = dist(point, c2)
if d1 <= d2:
return 1
else:
return 2
print(nearer([1, 1], [0, 0], [10, 10]))
print(nearer([9, 9], [0, 0], [10, 10]))
正在载入编程环境
正在载入 Mixly 图形化编程环境…
八、课堂练习
先完成两道正误判断,再做其余题目;选出后点「检查」。
判断:点归到更近中心时,要比较到每个中心的距离,取较小的一个。
判断:会做最近邻一步归堆,就等于已经训练好了深度网络。
把其中一个中心挪远以后,某些点的归属会?
需要明确对错标签时,应优先?
本课归堆的依据是?
九、本节小结
本课主题是最近邻归堆:比较到各中心的距离,把点归入较近的一堆。