2011-11-07 22 views
3

使用在包装dbscanfpc我能够得到的输出:R中DBSCAN的聚类中心平均值?

dbscan Pts=322 MinPts=20 eps=0.005 
     0 1 
seed 0 233 
border 87 2 
total 87 235 

,但我需要找到聚类中心(与大多数种子簇的意思)。任何人都可以告诉我如何继续这个?

回答

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 
4

你要明白,作为DBSCAN寻找任意形状的集群,平均可以在群集的外面是很好。因此,研究DBSCAN集群的手段并不是很合理。