具有周期性边界条件的DBSCAN python

时间:2015-08-06 08:54:40

标签: python scikit-learn cluster-analysis dbscan

我正在尝试使用sklearn.cluster.DBSCAN sklearn.cluster.DBSCAN来分析2D网格中的聚类。 http://scikit-learn.org/stable/modules/generated/sklearn.cluster.DBSCAN.html#sklearn.cluster.DBSCAN 但我遇到了这个问题,即没有实现跨周期边界条件的聚类。

是否有人知道将周期性边界条件考虑在内的实现?或者如何实现它?

/ Mikkel C

2 个答案:

答案 0 :(得分:1)

DBSCAN不需要为此进行修改。

只需滚动自己的距离函数,而不是使用欧几里德距离。

您可以轻松实现周期性边界条件。

答案 1 :(得分:0)

您可以添加额外的维度来强制执行周期性边界条件。假设我想使用DBSCAN通过极坐标中的角度(θ)提取点。如果我在θ上运行DBSCAN,则点1度和359度将不会聚集在一起。但是如果我在[sin(theta),cos(theta)]上运行DBSCAN,这就解决了这个问题。