单元三
第11课 兴趣小组自动分堆——聚类与无标签归堆

一、任务目标
理解无监督聚类是在没有标准组别名时,按相似把样本分成几堆;能说明分堆结果是「发现组别」,组别名仍需人来命名。
二、我们要学什么
- 学习要点:兴趣小组自动分堆|聚类与无标签归堆
- 本课过关:能完成:说出聚类不依赖事先贴好的类别名;载入体验程序,指出样本被分成若干堆;改一个特征后重新运行,分堆结果可能变化。
- 示例对齐:体验题对应本课「编程体验」;完整代码对应编程题1;补全与独立编写对应编程题2–3。均在 Mixly 图形化积木中完成。
三、本节要点
本课要认识无监督聚类。重难点是先分堆、后命名,不要把堆号当成已经存在的标准标签。要点对齐「兴趣小组自动分堆|聚类与无标签归堆」。
1读场景明确真实任务
2对要点兴趣小组自动分堆|聚类与无标签归堆
3载入运行图形化积木
四、解题思路
任务:在无组别名的情况下把样本分成几堆。请分清:分堆是算法做的,命名是人做的。
本课主要用到:Mixly 图形化积木与屏幕输出。
- 1明确任务「无标签分堆」:输出应是若干组,而不是预先给定的组名。
- 2按相似把样本归到不同堆。
- 3改一个样本特征后重跑,观察分堆是否变化。
流程示意(可对照左侧文字)
五、图形块功能讲解
下面只列出本课首次出现的 Mixly 图形块(真积木截图)。已在前面课讲过的不再重复;先认新块,再点「载入」对照拖搭。
| 图形块 | 分类 | 作用 | 本课用法 |
|---|---|---|---|
![]() | 列表 | 在末尾增加元素或合并列表。 | 本课编程练习中首次使用,载入后可在工具箱对照。 |
六、知识点讲解
聚类是无监督学习:样本没有标准组别名时,按相似分成几堆。本课用兴趣小组作例子——算法只给出「谁和谁在一起」,组别含义由人命名。堆的个数或特征一变,分堆结果就可能变。
先弄清:先分堆,再由人命名;再进编程练习对照组别。
七、编程练习
用下拉列表切换题目;下方 Mixly 默认显示图形化积木。请在 Mixly 工具栏点「运行」;「检查」读取 Mixly 代码自动判题。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。
参考代码(对照抄写到下方 Mixly)
words = ["apple", "ant", "banana", "blue", "cat"]
def group_by_first(xs):
groups = {}
for w in xs:
key = w[0]
if key not in groups:
groups[key] = []
groups[key].append(w)
return groups
print(group_by_first(words))
正在载入编程环境
正在载入 Mixly 图形化编程环境…
八、课堂练习
先完成两道正误判断,再做其余题目;选出后点「检查」。
判断:兴趣小组自动分堆时,算法只给出「谁和谁在一起」,组别含义由人来起名。
判断:无标签任务也可以先随便编一些假标签,再当作分类来训练。
一开始没有标准类别名、只按相似分组,属于?
把堆的个数从 2 改成 4,分堆结果会?
已经有明确的对错标签时,更优先?
九、本节小结
本课主题是聚类:无标签时按相似分堆。组别名由人来起;特征变化,分堆可能变化。
