【问题标题】:Exporting Weka command Line prediction in CSV (or text), only predicted and original values以 CSV(或文本)格式导出 Weka 命令行预测,仅预测值和原始值
【发布时间】:2021-09-21 10:36:12
【问题描述】:

我在命令行中使用 Weka,因为我有一个批处理文件来运行 10 折的多个分类器。因此,我进行了 10 次实验,然后取其指标(准确性等)的平均值。现在我有很多输出文件,因此手动评估它们非常耗时。我的问题是我们能否将输出预测值从 weka 命令行导出到不同列中的 CSV。 例如:java -cp weka.jar weka.classifiers.trees.J48 -t data/iris.arff -T data/iris.arff -p 0 > iris.txt 为您提供文本甚至 .CSV 文件,但它们在一列中。所以我们找不到准确度、精确度等。如果我们可以在一列中有预测值,而在另一列中有原始值,那么我们可以很容易地找到其他指标。 This is the most relevant but this has the same issue.。 使用此代码java -cp weka.jar weka.classifiers.trees.J48 -t data/iris.arff -T data/iris.arff > iris.csv 我可以获得详细文件,但它们位于一列中,如下所示: all metrics but in one column so taking average of them is not easy.

【问题讨论】:

    标签: python pandas numpy csv weka


    【解决方案1】:

    -p 选项早已被弃用。相反,请使用-classifications class+options 选项(请参阅javadoc of Evaluation class)。如果你想要CSV输出,你可以使用以下类:weka.classifiers.evaluation.output.CSV

    顺便说一句,如果您正在考虑比较分类器,您应该使用 Weka Experimenter。默认情况下,它执行 10 次 10 折交叉验证,并为您提供所选统计数据的均值、标准差和重大损失/胜利。

    【讨论】:

    • 非常感谢您的帮助。我们可以在 Experimenter 中提供单独的测试集吗?因为我正在对训练数据进行上采样,并且我不希望在验证中使用人工创建的样本。即我只想对真实样本进行验证(测试结果),而不是人为地创建样本(上采样)。感谢您的帮助。
    • 不幸的是,没有。您可以组合这两个数据集,然后计算出将其拆分为训练/测试所需的确切百分比(对于保持顺序的训练/测试拆分)。不幸的是,任何随机化都会在拆分之前发生,即使用多次运行将毫无意义(因为您要保留顺序)。
    猜你喜欢
    • 2014-04-04
    • 2013-07-12
    • 2017-04-30
    • 1970-01-01
    • 2012-10-19
    • 1970-01-01
    • 2016-06-21
    • 2015-04-13
    • 2019-02-16
    相关资源
    最近更新 更多