我正在使用包含空间地块的大型集合,每行包含地理坐标(UTM),地块区域和地理坐标。值:
[x, y, area, value]:
[272564.9434265977, 6134243.108910706, 980.63, 550.6664083293393],
[272553.9611341293, 6134209.499155387, 1026.55, 477.32696897374706],
[271292.4197118982, 6132982.047648986, 634.438, 851.1469993915875],
...
根据地理位置,可以在视觉上识别出几个不同的区域,其中美元价值会有所不同(例如左边的高价值条带是沿海地区):
我想识别价值集群(即沿海地带)&看了几种方法;
K-means似乎是最容易实现的聚类方法,但却出现了 因为只考虑点之间的距离而不合适 进一步的属性。
ClusterPy看起来很适合这个应用程序,但他们的 文档似乎只涉及使用GIS文件。
DBSCAN似乎更相关,但我不确定如何包含我的 附加属性($ value) - 可能是第三个维度?
有人可以建议考虑其他任何工具包/方法吗?
答案 0 :(得分:1)
查看广义DBSCAN(GDBSCAN),它可以轻松地让您需要两者的邻居点
答案 1 :(得分:1)
至少在分层聚类中,您可以定义connectivity constraints,以便只有"连接"样本可以属于同一个集群。在您的情况下,x
和y
将由函数sklearn.neighbors.kneighbors_graph()用于创建邻居列表,value
变量将用于群集。