【问题标题】:WEKA output extra informationWEKA 输出额外信息
【发布时间】:2012-07-01 18:15:56
【问题描述】:

我为 WEKA 编写了一个自定义分类器,它需要提供除了实例的预测类之外的信息。具体来说,它是一个列表,描述了训练实例的每个子集对预测类的影响有多大。

additionalMeasureProducer 接口不起作用,因为我需要将字符串打印到 GUI。我希望用户能够选择输出此信息。我曾希望“分类器评估选项”对话框中的“输出模型”选项可以解决问题,但 WEKA 最终在分类发生之前调用了我的分类器的 toString() 方法。我认为这是一个错误,因为我的分类器在 weka.classifiers.lazy 包中,这意味着它在被分类的实例被提供给它之前不会被构建。

有人知道如何为自定义 WEKA 分类器添加更多 GUI 输出功能吗?

【问题讨论】:

标签: machine-learning weka


【解决方案1】:

好吧,我能找到正确执行此操作的唯一方法是实现一个特殊的weka.classifiers.evaluation.output.prediction.AbstractOutput,它只能与我的分类器一起使用。我用globalInfo()getDisplay() 指定了它,我的doPrintClassification 方法是这样开始的:

@Override
protected void doPrintClassification(Classifier classifier, Instance inst,
        int index) throws Exception {
    if (!(classifier instanceof MyClassifier))
        throw new IllegalArgumentException(
                "This output can only be used with the MyClassifier classifier");

    MyClassifier mc = (MyClassifier) classifier;

这样我就能够调用正确的方法来获取分类器的信息。为 CSV、HTML 和纯文本编写所有内容太多了,所以我只是让用户选择从我的自定义输出类中获取特殊信息,并从其他输出类中获取常规信息(如果他们需要特定格式)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-08
    • 1970-01-01
    • 2011-08-23
    • 1970-01-01
    • 1970-01-01
    • 2018-06-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多