【问题标题】:Showing progress of the ELKI DBSCAN clustering model while the model is running?在模型运行时显示 ELKI DBSCAN 聚类模型的进度?
【发布时间】:2019-01-08 12:23:06
【问题描述】:

我正在使用 ELKI 的 DBSCAN 实现来对不同大小的不同数据集(从数百万到数千个观察值不等)进行聚类,并且由于在我运行算法时可能需要很长时间来处理不同的数据集,所以我想知道它是否以某种方式是否可以显示算法的进度(或良好的估计)?

我尝试在 ELKI 文档中查找集群类,但未成功。

private static Clustering<Model> runModel(double eps, int minpts, Database db){

    //double eps = 10;
    //int minpts = 5;
    //db = data in a double[][] format;

    Clustering<Model> c = new DBSCAN<NumberVector>(
            EuclideanDistanceFunction.STATIC, eps, minpts).run(db);

    return c;
}

我想让这个方法定期写入控制台。或者以任何我能够看到算法进展的方式。

【问题讨论】:

    标签: java cluster-analysis elki


    【解决方案1】:

    是的。

    如果您使用-verbose 标志,日志记录将包括进度。

    以编程方式,您可以使用LoggingConfiguration 设置详细级别。

    并非适用于所有算法,但适用于许多算法;包括 DBSCAN。进度记录还将包括对剩余时间的估计。

    请注意,日志记录不是免费的——它需要付出额外的努力,因此可能会导致程序运行时间更长。详细应该是合理的(并且进度记录包括限制成本的速率控制),但在 DEBUG 级别它可能变得过于昂贵。

    要减少运行时间,请确保为您的数据库添加索引。

    【讨论】:

      猜你喜欢
      • 2020-07-29
      • 2014-07-01
      • 2017-09-04
      • 2014-07-10
      • 2020-07-28
      • 2015-06-19
      • 2013-02-25
      • 2019-09-24
      • 1970-01-01
      相关资源
      最近更新 更多