R中DBSCAN的聚类中心均值?

时间:2011-11-07 16:42:39

标签: r cluster-analysis data-mining dbscan

在包dbscan中使用fpc我可以获得输出:

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

但是我需要找到群集中心(具有大多数种子的群集的平均值)。谁能告诉我如何继续这个?

2 个答案:

答案 0 :(得分:6)

您需要了解,当DBSCAN查找任意形状的群集时,平均值可能远远超出群集。因此,研究DBSCAN集群的方法并不是真的合理。

答案 1 :(得分:4)

使用您选择的群集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