Weka:LibSVM 在 GUI 中工作,但在 Python 带有 WEKA Wrapper 的代码中不工作

Weka: LibSVM works in GUI, but not in Python code with WEKA Wrapper

我正在尝试使用 [python-weka-wrapper-3][1] 在我的 Python 程序中使用多个分类器。这是我的代码:

def main():
     classifierNB = Classifier(classname="weka.classifiers.bayes.NaiveBayes") #works
     classifierNBMult = Classifier(classname="weka.classifiers.bayes.NaiveBayesMultinomial") #works
     classifierLibSVM = Classifier(classname="weka.classifiers.functions.LibSVM") #won't work

try:
    jvm.start()
    main()
except Exception as e:
    print("Error:", e)
finally:
    jvm.stop()

但是,当我 运行 它(在 Windows 上)时,我收到以下错误:

java.lang.NoClassDefFoundError: weka/classifiers/functions/LibSVM
Caused by: java.lang.ClassNotFoundException:
weka.classifiers.functions.LibSVM
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
Exception in thread "Thread-0" 

Failed to get class weka/classifiers/functions/LibSVM
Failed to instantiate
weka.classifiers.functions.LibSVM/weka/classifiers/functions/LibSVM:
weka/classifiers/functions/LibSVM
Error: Object does not implement or subclass weka.classifiers.Classifier:
builtins.NoneType

我已经使用 Weka 包管理器 GUI 安装了 LibSVM。它在 Weka GUI 中运行良好。我还包含了以下类路径,但这似乎也不起作用:

C:\Path\To\wekafiles\packages\LibSVM\lib\libsvm.jar
C:\Path\To\wekafiles\packages\LibSVM\LibSVM.jar
C:\Path\To\wekafiles\packages\LibSVM\lib\*
C:\Path\To\wekafiles\packages\LibSVM\*

我做错了什么?提前致谢!

我可以用 jvm.start(packages=True) 修复它,糟糕! :)