在包dbscan
中使用fpc
我可以获得输出:
dbscan Pts=322 MinPts=20 eps=0.005
0 1
seed 0 233
border 87 2
total 87 235
但是我需要找到群集中心(具有大多数种子的群集的平均值)。谁能告诉我如何继续这个?
答案 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