聚类算法通常可以分为两大类: 基于密度的聚类算法和基于划分的聚类算法。
基于密度的聚类算法:
- DBSCAN: 基于密度的聚类算法。它可以找到任意形状的聚类,但是需要指定两个超参数:半径 eps 和最少样本数 minPts。
- OPTICS: 一种改进的 DBSCAN 算法,它可以输出数据对象的密度可达性图,从而方便我们选择合适的 eps 值。
基于划分的聚类算法:
- K-Means: 最常用的基于划分的聚类算法。它通过不断地重新划分数据对象来找到聚类中心。它需要指定聚类的数目 k。
- Hierarchical Clustering: 层次聚类算法。它可以将数据对象通过层层划分的方式形成树状层次结构。它可以通过指定聚类的数目 k 来控制聚类的数目,也可以通过画 dendrogram (树状图) 来找到合适的聚类数目。