首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ELKI DBSCAN结果结构

ELKI DBSCAN结果结构
EN

Stack Overflow用户
提问于 2014-05-28 06:12:00
回答 1查看 485关注 0票数 1

我无法获得elki返回的每个集群中的点数。

代码语言:javascript
运行
复制
ArrayList<Clustering<?>> cs = ResultUtil.filterResults(result,
                Clustering.class);
        for (Clustering<?> c : cs) {
            int i = 0;
            System.out.println("clusters: " + c.getAllClusters().size());
            for (de.lmu.ifi.dbs.elki.data.Cluster<?> cluster : c
                    .getAllClusters()) {
                System.out.println("\nclusters : " + cluster.getNameAutomatic()
                        + " , IsNoise:" + cluster.isNoise() + ", Size:"
                        + cluster.size());

产出如下:

代码语言:javascript
运行
复制
clusters: 4

clusters : Cluster , IsNoise:false, Size:240

clusters : Cluster , IsNoise:false, Size:374

clusters : Cluster , IsNoise:false, Size:4901

clusters : Noise , IsNoise:true, Size:211

我经历过这个Running DBSCAN in ELKI!尽管如此,我还是无法看到星系团中的点。我想把它存储在阵列里。elki存储的集群的结构是什么??我被卡住了!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-28 08:40:25

使用cluster.getDBIDs()获取集群成员。

要获取原始数据,请从您分析的原始Relation中检索对象。

代码语言:javascript
运行
复制
for (DBIDIter iter = cluster.getIDs().iter(); iter.valid(); iter.advance()) {
    DoubleVector obj = relation.get(iter);

注意,ELKI允许对数据进行抽象分析--例如,当使用距离矩阵时。在这种情况下,您可能没有DoubleVector关系,但只有对象ID。这就是为什么集群不包含向量的原因。它们由一个DBIDs集合组成,在某些情况下还包括一个集群模型,例如一个质心向量。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23904018

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档