写作时
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
的权利是什么
答案 0 :(得分:0)
来自cluster.stats(d, ...
d
距离对象(由dist生成)或案例之间的距离矩阵。
clustering
一个长度为整数的整数向量,表示一个聚类。群集必须从1到簇的数量编号。
noisecluster
符合逻辑。如果TRUE
,则假设聚类中的最大聚类数表示“噪声类”,即不属于任何聚类的点。在计算簇距离内和簇之间的所有函数时,不考虑这些点,包括验证索引。
您应该将noisecluster
与DBSCAN一起使用,因此请确保最大的群集编号是噪声群集。遗憾的是,这与fpc.dbscan
函数的群集编号不匹配,因此将必须更正此内容。
同时也明白许多测量方法对非凸簇和噪声效果不佳 - 因此它们对DBSCAN可能不是很有用。
请注意,DBSCAN的R
(fpc
)版本不是很快。如果它不是用R
写的,而是用C或Fortran写的,它可以快10倍;它不支持数据索引。