有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

命令行中的java WEKA分类器参数

我正在运行Ubuntu14.10,我已经通过GUI创建并保存了一个模型。现在我想从命令行运行一些测试数据。只要我不尝试并传递任何特定于分类器的选项,这就可以正常工作。当我这样做时,我会收到一条“无效选项”消息

例如,以下工作:

java -Xmx1g -cp /usr/share/java/weka.jar weka.classifiers.lazy.IBk -l ibk1-full.model -T testdata.arff

但是,以下情况并非如此:

java -Xmx1g -cp /usr/share/java/weka.jar weka.classifiers.lazy.IBk -l ibk1-full.model -T testdata.arff -K 3


Weka exception: Illegal options: -K 3

General options:

-h or -help
    Output help information.
-synopsis or -info
...

如何将命令行参数传递给分类器

附加问题:生成模型时使用的默认参数是否与模型一起保存,以便在有人使用'-l foo'时使用。model'要从命令行加载它,不需要在命令行上指定其余参数?weka CLI初级文档对此不清楚

注意:我知道IBk本身并不完全是一个模型,但它说明了我尝试的每个分类器


共 (1) 个答案

  1. # 1 楼答案

    当加载分类器时,-K参数似乎不起作用,而是在从命令提示符训练模型时起作用。这可能是因为kNN模型已经用k=1进行了训练,所以改变k会改变已经生成的模型

    如果您使用参数-K、-t和-t,您应该能够在指定的训练集上生成具有所需K的新模型,并根据给定的测试数据进行评估

    我不认为你的问题在于命令行参数(你做得对!),而是在你的特定情况下,这个论点是无效的

    附加问题:已训练模型的参数可能不是必需的,因为它们用于训练,在保存之前已完成训练。还需要其他参数(如用于评估的测试数据)

    希望这有帮助