我试图以这样一种方式对地理位置进行集群,即每个集群内的所有位置都在彼此之间的最大 25 英里范围内。为此,我正在使用凝聚聚类。我正在使用自定义距离函数来计算每个位置之间的距离。我不想指定集群的数量。相反,我希望模型进行聚类,直到每个聚类中的所有位置都在 25 英里范围内。我已经尝试在 Scipy 和 Sklearn 中这样做,但没有取得任何进展。以下是我尝试过的方法。它只给了我一个集群。请帮忙。提前致谢。
from scipy.cluster.hierarchy import fclusterdata
max_dist = 25
# dist is a custom function that calculates the distance (in miles) between two locations using the geographical coordinates
fclusterdata(locations_in_RI[['Latitude', 'Longitude']].values, t=max_dist, metric=dist, criterion='distance')