用额外的特征聚类地理位置数据



我正在尝试建立一个参与式系统,通过从移动客户端(更具体地说,Android客户端,每个客户端都有一个唯一的ID)收集数据进行噪声监测。每个客户端收集数据的格式如下:[latitude, longitude, noise_value, timestamp]。最重要的是,我正在努力为这些客户开发一个声誉系统,以确定他们的数据有多可靠。据我所知,DBSCAN是最适合地理位置坐标的聚类算法,因此我使用scikit-learn中实现的算法。基本上,我可以将这些数据分组成半径为1或2公里的集群。是否有可能确定属于每个集群的客户端?E:集群#1包含来自客户端的数据:#1,#2,#3)和/或它的值?

从你发布的链接中的例子可以看到。fit函数返回一个对象,该对象包含一个标签数组,代表每个样本所属的集群。

from sklearn.cluster import DBSCAN
import numpy as np
X = np.array([[1, 2], [2, 2], [2, 3], [8, 7], [8, 8], [25, 80]])
clustering = DBSCAN(eps=3, min_samples=2).fit(X)
clustering.labels_

array([ 0,  0,  0,  1,  1, -1])

如果您使用的是pandas数据框架,您可以为创建的集群创建一个列。

df['cluster'] = clustering.labels_

相关内容

  • 没有找到相关文章

最新更新