【问题标题】:How to perform clustering of lat/lon data points如何对纬度/经度数据点进行聚类
【发布时间】:2015-02-11 07:31:20
【问题描述】:

我首选的算法是 scikit-learn 中的 DBSCAN。但是,我不确定是否(以及如何)将半径与我已经使用的纬度和经度结合起来。我的第二个问题是如何计算新集群的中心。有什么想法吗?

【问题讨论】:

    标签: python scikit-learn cluster-analysis dbscan


    【解决方案1】:

    dbscan使用epsilon radius查询。这是您使用纬度和长足的地方。

    我不知道scikit-seature是否允许您使用任意距离。我在使用光学(DBSCAN的后续人员)上看到了一个blog post使用纬度和经度纳入2300万推文;但它使用的是 ELKI 而不是 scikit-learn。

    DBSCAN 不使用质心。所以你根本不需要在球体上计算它们。 事实上,质心对dbscan 没有意义。如果不是凸出的话,它们可以在 em>群集之外;而DBSCAN可以找到非凸簇。考虑中心有一个湖的城市。质心可能在湖中。或者一个海湾的城市 - 质心将在海湾内部。湾区的质心(旧金山,奥克兰,......)可能是靠近金银岛...等。

    【讨论】:

      【解决方案2】:

      计算质心的一种方法是对每个集群的经度求和(每个点的经度之和)并计算平均值,这将为您的质心提供粗略的经度。对纬度做同样的事情。 这是一个很好的example,在我看来是公平的

      【讨论】:

        猜你喜欢
        • 2019-08-03
        • 2015-01-15
        • 2016-08-17
        • 2010-09-24
        • 2014-06-18
        • 2019-08-26
        • 1970-01-01
        • 2011-05-19
        • 1970-01-01
        相关资源
        最近更新 更多