带 GPS 数据的加权 K 均值
Weighted K-means with GPS Data
OBJECTIVE
聚合商店位置 GPS 信息(经度、纬度)
周边商店区域的总人口规模(例如 1,000,000
居民)
- 使用 K-means 确定最佳配送中心,
给定商店 GPS 数据和当地人口(即配送中心
由于较高的价格,它们更靠近城市商店而不是农村商店
需求)。
问题
- 我一直在 researching 研究如何将加权变量添加到 k-means 算法,但不确定 实际 加权变量的过程。例如,如果我有 [纬度、经度和人口(以千为单位)](例如 "New York" =
[40.713, 74.005, 8406]
),这不会在 3 维 space 中构造质心吗?如果是这样,距离是否会不正确地倾斜并错误地表示仓库配送中心的最佳位置?
- 附加 research 暗示 UPGMA,"Unweighted Pair Group Method" 其中考虑了集群的大小。但是,我还没有完全回顾这种方法以及与这种方法相关的复杂性。
参考资料
参考文献 1:http://cs.au.dk/~simina/weighted.pdf(第 5 页)
It can also be shown that a few other algorithms similar to k-means, namely k-median and k-mediods are also
weight-separable. The details appear in the appendix. Observe that all of these popular objective functions are highly
responsive to weight.
参考文献 2:https://www-users.cs.umn.edu/~kumar/dmbook/ch8.pdf(第 39 页:"Ability to Handle Different cluster sizes"
1)你只想在(经度,纬度)space做k-means。如果将人口添加为第 3 个维度,您会将质心偏向大型人口中心之间的中点,这些中心通常相距甚远。
2) 在 k-means 中加入权重的最简单技巧是根据人口权重重复一个点(经度、纬度)。
3) k-means 可能不是这项工作的最佳聚类算法,因为旅行时间不随距离线性变化。此外,您基本上可以保证永远不会在大型人口中心的中间设置配送中心,这可能不是您想要的。我会使用 DBSCAN,scikit-learn 对此有一个很好的实现:
http://scikit-learn.org/stable/modules/clustering.html
OBJECTIVE
聚合商店位置 GPS 信息(经度、纬度)
周边商店区域的总人口规模(例如 1,000,000 居民)
- 使用 K-means 确定最佳配送中心, 给定商店 GPS 数据和当地人口(即配送中心 由于较高的价格,它们更靠近城市商店而不是农村商店 需求)。
问题
- 我一直在 researching 研究如何将加权变量添加到 k-means 算法,但不确定 实际 加权变量的过程。例如,如果我有 [纬度、经度和人口(以千为单位)](例如 "New York" =
[40.713, 74.005, 8406]
),这不会在 3 维 space 中构造质心吗?如果是这样,距离是否会不正确地倾斜并错误地表示仓库配送中心的最佳位置? - 附加 research 暗示 UPGMA,"Unweighted Pair Group Method" 其中考虑了集群的大小。但是,我还没有完全回顾这种方法以及与这种方法相关的复杂性。
参考资料
参考文献 1:http://cs.au.dk/~simina/weighted.pdf(第 5 页)
It can also be shown that a few other algorithms similar to k-means, namely k-median and k-mediods are also weight-separable. The details appear in the appendix. Observe that all of these popular objective functions are highly responsive to weight.
参考文献 2:https://www-users.cs.umn.edu/~kumar/dmbook/ch8.pdf(第 39 页:"Ability to Handle Different cluster sizes"
1)你只想在(经度,纬度)space做k-means。如果将人口添加为第 3 个维度,您会将质心偏向大型人口中心之间的中点,这些中心通常相距甚远。
2) 在 k-means 中加入权重的最简单技巧是根据人口权重重复一个点(经度、纬度)。
3) k-means 可能不是这项工作的最佳聚类算法,因为旅行时间不随距离线性变化。此外,您基本上可以保证永远不会在大型人口中心的中间设置配送中心,这可能不是您想要的。我会使用 DBSCAN,scikit-learn 对此有一个很好的实现: http://scikit-learn.org/stable/modules/clustering.html