You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于distance matrix的站点聚类方案咨询(Python 3环境)

Python 3 站点聚类解决方案(基于距离矩阵/坐标)

针对你的站点聚类需求,结合已有的距离矩阵和站点坐标,推荐以下几种实用的Python解决方案:

1. 层次聚类(Agglomerative Clustering)

适合基于预计算距离矩阵的聚类,无需提前指定聚类数量(也可手动指定),能直观展示聚类层级关系。使用scikit-learn实现:

from sklearn.cluster import AgglomerativeClustering
import numpy as np

# 转换距离矩阵为numpy数组
distance_matrix = np.array(data['distance_matrix'])

# 初始化聚类器,使用预计算的距离矩阵
# linkage可选:ward(最小化簇内方差)、complete(簇间最大距离)、average(簇间平均距离)
cluster = AgglomerativeClustering(
    n_clusters=None,  # 不指定聚类数,通过距离阈值停止聚类
    distance_threshold=500,  # 聚类停止的距离阈值,可根据业务需求调整
    affinity='precomputed',
    linkage='ward'
)

# 执行聚类并获取每个站点的标签
labels = cluster.fit_predict(distance_matrix)

# 输出结果
for idx, label in enumerate(labels):
    print(f"站点 {idx}: 聚类标签 {label}")

若需要固定聚类数量,将n_clusters设为目标数值,移除distance_threshold参数即可。

2. DBSCAN 密度聚类

适合识别地理上的高密度聚集区域,能自动过滤孤立站点,支持直接使用预计算距离矩阵:

from sklearn.cluster import DBSCAN
import numpy as np

distance_matrix = np.array(data['distance_matrix'])

# 初始化DBSCAN
# eps: 邻域半径,控制簇的大小;min_samples: 邻域内最少站点数,过滤稀疏区域
dbscan = DBSCAN(
    eps=500,
    min_samples=2,
    metric='precomputed'
)

labels = dbscan.fit_predict(distance_matrix)

# 输出结果,标签为-1代表该站点是孤立点
for idx, label in enumerate(labels):
    print(f"站点 {idx}: 聚类标签 {label}")

3. K-Means 聚类(基于站点坐标)

如果你有原始站点坐标,K-Means是效率更高的选择,适合大规模站点数据:

from sklearn.cluster import KMeans
import numpy as np

# 假设你有站点坐标数组,格式为[[经度, 纬度], ...]
coordinates = np.array([[x0, y0], [x1, y1], ...])

# 指定目标聚类数,random_state保证结果可复现
kmeans = KMeans(n_clusters=4, random_state=42)
labels = kmeans.fit_predict(coordinates)

# 输出结果
for idx, label in enumerate(labels):
    print(f"站点 {idx}: 聚类标签 {label}")

实用建议

  • 聚类前可对距离矩阵做标准化处理,避免不同量级的距离干扰聚类结果
  • 若需要可视化聚类效果,可结合matplotlib绘制散点图,或用folium生成地理热力图展示簇分布
  • 聚类完成后,可将每个簇的站点作为独立任务,继续用Google OR-Tools生成各簇的优化路线

内容的提问来源于stack exchange,提问作者zxcv

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 17:45:39