我有包含拉特长数据的数据集。
('ID','Latitude','Longitude')
('A0001',19.222,71.555)
利用这些数据,我计算了距离矩阵,其中 M[i][j] 是 ID:i 和 ID:j 之间的距离。
距离使用以下代码计算
:geopy.distance.vincenty((a,b),(c,d)).miles
有没有最好的方法来找到半径X英里内的集群。
大多数当前的聚类(如"DBSCAN"K-Means)都提供了最小距离和最小样本的选项,但是我正在寻找提供最大距离的聚类方法。
其次,如果不需要,我可以不计算距离矩阵。
执行完整的链接分层聚类。
如果在距离 x 处切割树,则同一聚类中的任何两个点的距离最多为 x。这不是最佳的(因为这将是NP完整的),但通常足够好。