LibSVM 使用 Weka 命令行

Posted

技术标签:

【中文标题】LibSVM 使用 Weka 命令行【英文标题】:LibSVM using Weka command line 【发布时间】:2021-11-08 13:17:20 【问题描述】:

我正在尝试从 weka 命令行使用 LibSVM,但它给了我错误: 错误:无法找到或加载主类 weka.classifiers.functions.LibSVM 我试过 java -cp weka.jar:LibSVM.jar:"C:\wekafiles\packages\LibSVM\LibSVM.jar":"\wekafiles\packages\LibSVM\lib\libsvm.jar" weka.classifiers.functions.LibSVM -S 0 -K 1 -D 3 -G 0.0 -R 0.0 -N 0.5 -M 40.0 -C 1.0 -E 0.001 -P 0.1 -model D:\Weka-3-8-5 -seed 1 其他 ML 算法可以工作,但我使用 weka 安装的算法不能从命令行工作。

【问题讨论】:

【参考方案1】:

由于您将 LibSVM 作为 Weka 包安装,您应该使用 weka.Run 类运行它,而不是手动组装类路径:

java -cp weka.jar weka.Run .LibSVM -S 0 -K 1 -D 3 -G 0.0 -R 0.0 -N 0.5 -M 40.0 -C 1.0 -E 0.001 -P 0.1 -model D:\Weka-3-8-5 -seed 1

当然,您仍然需要为此命令行提供其他参数,例如训练和/或测试数据。

使用weka.Run 的额外好处是,您也不需要提供分类器的完整类名(只要没有其他类具有该名称)。

【讨论】:

以上是关于LibSVM 使用 Weka 命令行的主要内容,如果未能解决你的问题,请参考以下文章

在 Weka 中使用 libsvm 分类器和堆大小

在命令行中导出 Weka 预测

为啥 WEKA 不从命令行运行?

Weka 从命令行预测到 CSV

从命令行运行 weka - 找不到类 NaiveBayes

如何从 libSVM 中使用的数据集转换为 weka 中使用的格式数据(*.arff 或 *.csv)