一家奶茶店有 150 位会员的消费记录:每月来几次,每次花多少钱。没有人告诉机器这些顾客属于哪一类。本实验让 K-Means 自己把他们分成几群,再看分几群最合适。最后换一份数据,看 PCA 怎样找到最好的观察角度。
数据说明:会员记录和身高臂展数据都是随机生成的教学数据。
这一步看什么先把 K 定为 4。放好中心以后,交替点“分组”和“挪中心”,看四群顾客怎样一步步分出来。距离平方总和就是第四节第 28 页说的那个数,越小表示各群越紧凑。
| 群 | 人数 | 每月来几次 | 每次花多少 |
|---|
每做一步,距离平方总和只会变小或者不变,不会变大。多数情况下挪上几轮,叉号就不再移动。
四群顾客的特点很明显。比如有一群来得勤、每次花得少,很可能是附近的学生。机器并不知道谁是学生,它只是把挨得近的点归在了一起。
这一步看什么K-Means 的中心一开始是随手放的。起点换了,最后分出来的结果还一样吗?
| 第几次 | 起点 | 轮数 | 距离平方总和 |
|---|
大多数起点都能分出四群,距离平方总和也差不多。中心都挤在右下角出发时,有两群被并成了一群,另一群却被劈成两半,距离平方总和明显变大。
所以实际使用时,会换几个起点多跑几次,挑距离平方总和最小的那一次。
这一步看什么K 越大,距离平方总和越小。那是不是分得越多越好?
肘部曲线:横轴是 K,纵轴是距离平方总和。赭色圆点是当前的 K。
K 从 1 到 4,每多分一群,距离平方总和都要降一百多甚至几百。4 以后每次只降几十或者十来个,曲线在 4 这里拐了个弯,这就是肘部。
K 取 8 时,本来是一群的顾客被硬拆成了好几小群,这样的分组没有意义。
这一步看什么换一份数据:60 名同学的身高和臂展,两个数几乎同涨同落。转动一条直线,把点投上去,看哪个方向留下的信息最多。
横轴是角度,纵轴是保留了百分之多少的信息。
直线顺着点的走向,大约 45 度时,蓝点散得最开,保留的信息超过九成。这条线就是第一主成分。
和它垂直的方向上,蓝点挤成一小团,只保留了很少的信息,这个方向可以放心丢掉。
前面四步的操作结果会自动写进报告。下面的题目按你实际看到的情况回答。
| 群 | 人数 | 每月来几次 | 每次花多少 |
|---|---|---|---|
| 未记录 | |||