【问题标题】:ELKI Default parameter settings for (clustering) algorithmsELKI(聚类)算法的默认参数设置
【发布时间】:2018-09-08 00:15:03
【问题描述】:

我正在从事一个研究项目,该项目涉及直观地显示许多聚类结果的结果。我看到集群类总是自带参数化静态类。

是否有可能使用预定义的参数设置来实例化所有 elki 算法?

非常感谢!

【问题讨论】:

    标签: algorithm cluster-analysis elki


    【解决方案1】:

    是的,您可以使用参数化 API 来实例化并获取那些具有默认值的参数的默认值。

    https://elki-project.github.io/howto/java_api#ParameterizationAPI

    当前的开发版本有一个新的“fluent”API,称为ELKIBuilder

    大多数单元测试已被重写以使用它,例如,AGNESTest

    Clustering<?> clustering = new ELKIBuilder<>(CutDendrogramByNumberOfClusters.class) //
            .with(CutDendrogramByNumberOfClusters.Parameterizer.MINCLUSTERS_ID, 3) //
            .with(AbstractAlgorithm.ALGORITHM_ID, AGNES.class) //
            .with(AGNES.Parameterizer.LINKAGE_ID, SingleLinkage.class) //
            .build().run(db);
    

    【讨论】:

    • 嗨。感谢你的回答。我之前找到了 elkibuilder,但我需要它甚至更“低级”。所有算法都有一组明确影响其性能的专用参数(显然)。正如我从代码中看到的那样,Elkibuilder 请求检查最小参数化“要求”(ClassGenericUtils.parameterizeOrAbort())的参数化程序。如果这是错误的,请纠正我。我需要的是为大多数参数自动使用最小/默认参数,这样我只需要设置例如K 表示基于分区的方法,eps 表示基于密度的方法。
    • 所以你想访问参数约束?请参阅TrackParameters,它将为您提供上下文中所有参数及其约束的列表。从约束中,您可以获得最小值(这是用于 UI 目的,例如,您可以为 k-means k 参数设置一个微调器控件,该参数不能低于 1)。
    猜你喜欢
    • 1970-01-01
    • 2013-02-25
    • 2012-12-11
    • 1970-01-01
    • 1970-01-01
    • 2021-12-24
    • 1970-01-01
    • 2014-05-18
    • 2011-06-25
    相关资源
    最近更新 更多