数据挖掘里的聚类算法不少,CURE 算法算是比较的那一类,抗噪能力强,聚类形状也不挑。推荐你看看这份 PPT,讲得挺详细,图示也清楚,思路梳理得比较顺。
多个代表点+缩放策略的思路,在那种不规则分布、带噪声的数据时,表现还蛮稳定。你要是之前用惯了 K-means,第一次接触 CURE 会觉得思路不太一样,但看完这个文档应该就清楚多了。
实现上也不算复杂,就是聚类前加了点小操作,比如先随机采样、再做层次聚类、挑点代表点压缩一下。Python写起来也蛮顺,推荐搭配下scikit-learn
或NumPy
练练手,效果直观。
嗯,顺带一提,除了 CURE 之外,LSNCCP 算法也值得看看,聚类思路也挺有意思的。不过先把 CURE 吃透,再回头看别的,你会更有感觉。
如果你刚好在做高维数据、非球形聚类,或者对传统算法不太满意,可以试试照这份 PPT 实现下 CURE,踩坑不多,调参也简单。