需要帮助找到一个基于开放/免费密度的聚类库,该库将距离矩阵作为输入并返回聚类,其中每个元素与聚类中每个其他元素的最大“x”距离(基本上返回具有指定密度的聚类) ).
我检查了DBSCAN算法,它似乎适合我的需求。您可能不会使用任何干净的 DBSCAN 实现,它可以使用预先计算的距离矩阵并输出具有所需密度的簇?
ELKI(位于 http://elki.dbs.ifi.lmu.de/)可以加载二进制或 Ascii 格式的外部距离矩阵,然后在其上运行基于距离的聚类算法。
某些算法(例如 k-means)无法工作,因为这些算法依赖于到 /mean/ 的距离,而这显然不是预先计算的。但例如DBSCAN 和 OPTICS 在预先计算的距离下工作良好。
我还没有尝试过,但我正在寻找类似的东西,并遇到了 DBSCAN 的 python 实现:
http://scikit-learn.org/dev/auto_examples/cluster/plot_dbscan.html#example-cluster-plot-dbscan-py
Matlab 文件交换有一个实现,可以直接适应预先计算的矩阵。只需删除代码中函数外部对
pdist1
的调用即可。