-1

当我写

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

4

1 回答 1

0

文档_cluster.stats(d, ...

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

clustering案例数长度的整数向量,表示聚类。簇必须从 1 到簇数编号。

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

您应该noisecluster与 DBSCAN 一起使用,因此请确保最大的簇数是噪声簇。不幸的是,这与函数的簇编号不匹配fpc.dbscan,因此您必须更正它。

还要了解,许多度量对非凸簇和噪声效果不佳——因此它们可能对 DBSCAN 不是很有用。

请注意,R( fpc) 版本的 DBSCAN 不是很快。如果不是用RC 或 Fortran 编写,它可能会快 10 倍;它不支持数据索引。

于 2015-03-28T10:04:39.057 回答