gpt4 book ai didi

python - 使用固定数量的集群在 Python 中聚类纬度经度点

转载 作者:行者123 更新时间:2023-12-04 19:03:25 25 4
gpt4 key购买 nike

kmeans 不适用于地理空间坐标 - 即使将距离函数更改为半正弦,如 here .

我看了DBSCAN这不
让我设置固定数量的集群。

  • 是否有任何算法(如果可能,在 python 中)具有与 kmeans 相同的输入值?或
  • 我可以轻松地将纬度、经度转换为欧几里得坐标 (x,y,z) 吗here并对我的数据进行计算?

  • 它不必完全准确,但如果可以的话就好了。

    最佳答案

    当您的地理数据跨越大区域时,仅使用纬度和经度会导致问题。特别是因为经度之间的距离在极点附近更小。为了解决这个问题,最好先将 lon 和 lat 转换为笛卡尔坐标。

    例如,如果您的地理数据跨越美国,您可以定义一个原点,从该原点计算距离作为毗邻美国的中心。我相信这位于北纬 39 度 50 分和经度 98 度 35 分。

    将纬度转换为笛卡尔坐标 - 使用半正弦计算距离,从数据集中的每个位置到定义的原点。再次,我建议纬度 39 度 50 分和经度 98 度 35 分。

    您可以在 python 中使用 hasrsine 来计算这些距离:

    from haversine import haversine
    origin = (39.50, 98.35)
    paris = (48.8567, 2.3508)
    haversine(origin, paris, miles=True)

    现在您可以对这些数据使用 k-means 进行聚类,假设地球的 hasrsin 模型足以满足您的需求。如果您正在进行数据分析而不打算发射卫星,我认为这应该没问题。

    关于python - 使用固定数量的集群在 Python 中聚类纬度经度点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31154238/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com