我如何使用cluster.stats()获取dbscan的结果

时间:2015-03-27 18:48:09

标签: r cluster-computing cluster-analysis dbscan

写作时

db<-dbscan(mydata, eps=3, MinPts = 5, scale = FALSE, 
           method = c("hybrid", "raw","dist"), 
           seeds = TRUE, showplot = FALSE, countmode = NULL)

cluster.stats(mydata, db$cluster)

Error in db$cluster : $ operator is invalid for atomic vectors
In addition: Warning message:
In as.dist.default(d) : non-square matrix

所以, 为cluster.stats( )

的结果写dbscan的权利是什么

1 个答案:

答案 0 :(得分:0)

来自cluster.stats(d, ...

文档
  

d距离对象(由dist生成)或案例之间的距离矩阵。

     

clustering一个长度为整数的整数向量,表示一个聚类。群集必须从1到簇的数量编号。

     

noisecluster符合逻辑。如果TRUE,则假设聚类中的最大聚类数表示“噪声类”,即不属于任何聚类的点。在计算簇距离内和簇之间的所有函数时,不考虑这些点,包括验证索引。

您应该将noisecluster与DBSCAN一起使用,因此请确保最大的群集编号是噪声群集。遗憾的是,这与fpc.dbscan函数的群集编号不匹配,因此必须更正此内容。

同时也明白许多测量方法对非凸簇和噪声效果不佳 - 因此它们对DBSCAN可能不是很有用。

请注意,DBSCAN的Rfpc)版本不是很快。如果它不是用R写的,而是用C或Fortran写的,它可以快10倍;它不支持数据索引。