如何在Weka中使用支持向量机(SVM)?

5
我将尝试为您翻译这段内容,这是关于使用weka中的svm分类器的问题。当我点击libsvm分类器并尝试基于提供的训练数据训练模型时,出现了以下错误:
libsvm classes not in CLASSPATH.

Weka官网提供了一些解决方法,但是我不确定如何执行这些方法。

http://weka.wikispaces.com/LibSVM

我从提供的链接中获取了libsvm.jar文件,但不知道应该将其放在哪个文件夹里。


Weka中的SVM算法是:weka.classifiers.functions.libsvm - Eric Leschinski
4个回答

2
你需要设置classpath变量,以便知道在本地机器上找到那个jar文件的位置。如果你使用的是Windows操作系统,请右键点击“计算机”->“属性”->“高级系统设置”->“环境变量”,并将其设置为系统变量。很有可能你已经有了一个classpath变量,所以只需将你的jar文件路径添加到末尾即可。
参考:http://weka.wikispaces.com/CLASSPATH

1

补充Rob的回答:按照下面的方式调整你的值。这是我的保存方式。

  • 变量名: CLASSPATH
  • 变量值: C:\Program Files (x86)\Weka-3-6\libsvm-3.20\java\libsvm.jar

0
在您的.bash_profile文件或环境变量中,您需要添加libsvm jar文件的完整路径。 对于.basch_profile文件: export CLASSPATH=$CLASSPATH:/FULL_PATH_TO_LIBSVM.jar

0

你只需要将最新版本的Weka和Libsvm.jar放在类路径中。可以像这样尝试:

WekaPackageManager.loadPackages( false, true, false );
AbstractClassifier classifier = ( AbstractClassifier ) Class.forName(
        "weka.classifiers.functions.LibSVM" ).newInstance();

如果您喜欢提供选项,请按以下方式设置选项。
String options = ( "-S 0 -K 0 -D 3 -G 0.0 -R 0.0 -N 0.5 -M 40.0 -C 1.0 -E 0.001 -P 0.1" );
String[] optionsArray = options.split( " " );
classifier.setOptions( optionsArray );

最后训练分类器

classifier.buildClassifier( train );

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接