Python中地理点的聚类
我有一组400k的地理点(带纬度和经度),我正试图将其聚类并绘制在地图上。目前,我正在使用Folium软件包的MarkerCluster来可视化点的聚类。但这似乎非常缓慢,代码会无限期地运行 只是想知道是否有其他Python包可以有效地用于此目的 当前代码:Python中地理点的聚类,python,machine-learning,cluster-analysis,Python,Machine Learning,Cluster Analysis,我有一组400k的地理点(带纬度和经度),我正试图将其聚类并绘制在地图上。目前,我正在使用Folium软件包的MarkerCluster来可视化点的聚类。但这似乎非常缓慢,代码会无限期地运行 只是想知道是否有其他Python包可以有效地用于此目的 当前代码: import folium from folium import plugins from IPython.display import Image, clear_output, display, HTML data = df[['Sta
import folium
from folium import plugins
from IPython.display import Image, clear_output, display, HTML
data = df[['StartLat','StartLong']].as_matrix()
avgLat = df['StartLat'].mean()
avgLong = df['StartLong'].mean()
mapa = folium.Map([avgLat, avgLong], zoom_start=6)
marker_cluster = folium.MarkerCluster().add_to(mapa)
latArr = np.array(df.StartLat)
lonArr = np.array(df.StartLong)
for i in range(len(latArr)):
folium.Marker([latArr[i], lonArr[i]], icon = folium.Icon(color='green',icon='ok-sign')).add_to(marker_cluster)
mapa.save('Clustering.html')
让我试着分两步回答你的问题:
scipy.cluster
clusterPy
()。他们有几种常用于空间数据的集群算法的实现。对空间自相关的一些阅读也可能有助于理解某些算法通常需要作为参数的考虑因素(如距离带)空间自相关是另一回事。你需要测量(比如说温度);然后这些测量值往往与附近的位置相关。如果你有一个规则的测量网格,这尤其适用。。。但如果他只有坐标,像光学或DBS这样的集群就可以很好地工作。点密度的概念确实适用。是的。仅当点代表地面某物的值/测量值时,才应使用空间聚类技术。否则,如果只有表示位置的lat/long值,则正常的聚类技术可以正常工作。