基于密度的聚类方法的思路挺巧妙,不靠你事先指定簇的个数,而是看哪里数据密集就往哪儿凑。像DBSCANOPTICSDENCLUE这些算法,都能搞定各种不规则的簇形,噪声点也还不错。

DBSCAN的逻辑蛮:找邻居、看密度,够密就拉进来一起玩,太稀就当噪声。适合用来图片区域、地理坐标、甚至是社交网络的社群划分。

OPTICS就比 DBSCAN 细腻点,在数据密度变化大的时候挺实用,排序之后你再来观察哪里是簇,挺有意思的。

DENCLUE是基于数学密度函数来的,思路有点偏学术,但优势是对复杂数据形态的捕捉更强,适合你那种非均匀分布的数据。

资源方面我翻了下,有不少现成的实现,MatlabPythonJCuda你都能找到源码,比如DBSCAN Matlab 实现Python 版本,跑起来也还算顺畅。

如果你是搞算法调研或者需要聚类非规则数据的项目,这套方法你一定得看。建议从DBSCAN开始上手,再慢慢摸清 OPTICS 和 DENCLUE 的优势。