Java WEKA-多类分类-Can';找不到名为:weka.classifiers.functions.supportVector.regsmo的类
我正在尝试在Weka中训练一个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.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交叉验证设置,以便让我的多类分类器正常工作。再次感谢你。