【问题标题】:Cluster center mean of DBSCAN in R?R中DBSCAN的聚类中心平均值?
【发布时间】:2011-12-23 18:55:51
【问题描述】:
在包fpc 中使用dbscan 我可以获得以下输出:
dbscan Pts=322 MinPts=20 eps=0.005
0 1
seed 0 233
border 87 2
total 87 235
但我需要找到聚类中心(具有大多数种子的聚类的平均值)。谁能告诉我如何进行此操作?
【问题讨论】:
标签:
r
cluster-analysis
data-mining
dbscan
【解决方案1】:
您需要了解,当 DBSCAN 寻找任意形状的集群时,平均值可能在集群之外。因此,查看 DBSCAN 集群的方法并不明智。
【解决方案2】:
只需使用您选择的集群 ID 索引回原始数据即可。然后,您可以轻松地对子集进行任何进一步的处理。这是一个例子:
library(fpc)
n = 100
set.seed(12345)
data = matrix(rnorm(n*3), nrow=n)
data.ds = dbscan(data, 0.5)
> data.ds
dbscan Pts=100 MinPts=5 eps=0.5
0 1 2 3
seed 0 1 3 1
border 83 4 4 4
total 83 5 7 5
> colMeans(data[data.ds$cluster==0, ])
[1] 0.28521404 -0.02804152 -0.06836167