Java WEKA-多类分类-Can';找不到名为:weka.classifiers.functions.supportVector.regsmo的类

Java WEKA-多类分类-Can';找不到名为:weka.classifiers.functions.supportVector.regsmo的类,java,machine-learning,svm,weka,Java,Machine Learning,Svm,Weka,我正在尝试在Weka中训练一个多类分类器模型,基本算法设置为Weka.classifiers.functions.supportVector.RegSMOImproved类,具有以下选项: MultiClassClassifier cModel = new MultiClassClassifier(); String options[] = { "weka.classifiers.meta.MultiClassClassifier",

我正在尝试在Weka中训练一个
多类分类器
模型,基本算法设置为
Weka.classifiers.functions.supportVector.RegSMOImproved
类,具有以下选项:

    MultiClassClassifier cModel = new MultiClassClassifier();
    String options[] = {
            "weka.classifiers.meta.MultiClassClassifier",
            "-M","0",
            "-R","2.0",
            "-S","1",
            "-W","weka.classifiers.functions.supportVector.RegSMOImproved",
            "-P","1.0e-12",
            "-L","1.0e-3",
            "-W","1"
    };
    try {
        cModel.setOptions(options);
    } catch (Exception e) {
        e.printStackTrace();
    }
当我运行代码时,出现以下错误:

java.lang.Exception: Can't find class called: weka.classifiers.functions.supportVector.RegSMOImproved
    at weka.core.Utils.forName(Utils.java:1073)
    at weka.classifiers.AbstractClassifier.forName(AbstractClassifier.java:90)
    at weka.classifiers.SingleClassifierEnhancer.setOptions(SingleClassifierEnhancer.java:108)
    at weka.classifiers.RandomizableSingleClassifierEnhancer.setOptions(RandomizableSingleClassifierEnhancer.java:93)
    at weka.classifiers.meta.MultiClassClassifier.setOptions(MultiClassClassifier.java:802)
    at myApp.Main.trainMultiClassClassifier(Main.java:983)
    at myApp.Main.createSets(Main.java:903)
    at myApp.Main.main(Main.java:387)
如果没有,使用RegsMo改进算法的正确类路径是什么?

我是否遗漏了其他内容、可能的附加设置或某种父类?

我使用的是来自的Weka开发者分支。如果我无意中遗漏了什么,请让我知道,我会尽快进行编辑

先谢谢你

编辑1:

我正在尝试完成多类分类,我将把我的模型训练成一个类而不是其他类。我的数据是平衡的(每班100个样本)。到目前为止,我发现:

编辑2:

因此,我将我的选项对象更改为:

    String options[] = {
            "-M","0",
            "-R","2.0",
            "-S","1",
            "-W","weka.classifiers.functions.SMO",
            "--",
            "-C","1",
            "-L","0.001",
            "-P","1.0e-12",
            "-M",
            "-N", "0",
            "-V","-1",
            "-W","1",
            "-K", "weka.classifiers.functions.supportVector.PolyKernel -C 250007 -E 1.0"
    };
这似乎是通过
setOptions()
实现的,因此我很清楚地混合了
supportVector
函数
包中的两个SMO类。我还读到,我需要为SMO设置
-M
-V
属性,以便我的多类分类器正常工作。因此,我使用-M属性启用了“将校准模型拟合到SVM输出”,并使用-V属性将交叉验证的折叠数设置为-1(默认值)

我假设交叉验证的折叠数属性必须设置为测试目的。从这一点开始,我们必须检查关于交叉验证的帖子

再次感谢你

A)除非您有特殊需要,否则您可能不应该使用开发人员分支。据我们所知,他们正在搬运东西,而且可能会损坏


B) RegsMoved用于Reg压缩,而不是分类。因此,您的一些问题可能是多类分类器和回归算法之间的不匹配

supportVector和函数包之间的不匹配是我代码中的问题。我已经用working options对象更新了我的帖子。现在我需要检查weka交叉验证设置,以便让我的多类分类器正常工作。再次感谢你。