我有一组点,我想根据计算的一些特征将它们聚类成组。
我有包含所有不同点对之间的距离的距离矩阵。我首先尝试了 K-Means 和 DBSCAN,但由于我不知道数据中包含 K-Means 所需的集群数量或 DBSCAN 所需的最佳 Epsilon 和 MinPnts 的数量。我决定转向分层聚集聚类,因为它不需要为聚类设置任何参数。
我使用 R 来执行 HAC。现在要将生成的树状图转换为多组点(平面簇),我想选择在哪个级别切割树(与选择簇数相同)。
我设法为集群数量的不同值执行此操作,并评估每个集群结果的剪影值,因此我可以选择给我最大剪影值的集群数量作为最佳集群数量。
发生的情况是,我发现获得的最大轮廓值(0.8)适用于多个集群 = 5,但集群大小不是很好(一个集群 > 900 点,第二个是 5 点,其他三个是每个单点)。我使用组平均值作为 HAC 集群 - 集群距离..
我也尝试了 Ward 的方法(它应该给出相同大小的集群),但是虽然这个方法给了我更好的分布每个集群中的点数......生成的集群的轮廓值非常低(0.1)。
你有什么好的方法可以在不需要参数的情况下进行聚类吗?或获得聚类参数的最佳值(HAC 的树状图切割级别,DBSCAN 的(epsilon,MinPnts))?