【问题标题】:How I use cluster.stats( ) for the result of dbscan我如何使用 cluster.stats() 作为 dbscan 的结果
【发布时间】:2015-06-01 05:12:50
【问题描述】:

当我写作时

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

所以, dbscan的结果写cluster.stats( )的权利是什么

【问题讨论】:

    标签: r cluster-computing cluster-analysis dbscan


    【解决方案1】:

    来自cluster.stats(d, ...文档

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

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

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

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

    还要了解,许多测量方法不适用于非凸簇和噪声 - 因此它们可能对 DBSCAN 不是很有用。

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

    【讨论】:

    • 如何改变簇的顺序,使最大簇数为噪声簇?
    猜你喜欢
    • 2019-08-13
    • 2016-01-12
    • 2020-08-10
    • 2014-07-10
    • 2020-03-13
    • 2016-06-25
    • 2013-04-01
    • 2016-08-22
    • 2011-10-13
    相关资源
    最近更新 更多