dbscan
在包中使用fpc
我可以获得以下输出:
dbscan Pts=322 MinPts=20 eps=0.005
0 1
seed 0 233
border 87 2
total 87 235
但我需要找到集群中心(大多数种子的集群的平均值)。谁能告诉我如何进行此操作?
dbscan
在包中使用fpc
我可以获得以下输出:
dbscan Pts=322 MinPts=20 eps=0.005
0 1
seed 0 233
border 87 2
total 87 235
但我需要找到集群中心(大多数种子的集群的平均值)。谁能告诉我如何进行此操作?
您需要了解,当 DBSCAN 寻找任意形状的集群时,平均值可能在集群之外。因此,查看 DBSCAN 集群的方式并不明智。
只需使用您选择的集群 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