我正在尝试在 weka 中使用 svm 分类器。当我单击 libsvm 分类器并尝试根据提供的一些训练数据训练模型时,出现错误
libsvm classes not in CLASSPATH.
weka 网站上有一些关于如何解决这个问题的信息,但我不确定如何执行它们。
http://weka.wikispaces.com/LibSVM
我从提供的链接中获得了 libsvm.jar 文件。我不确定将它放在哪个文件中。
我正在尝试在 weka 中使用 svm 分类器。当我单击 libsvm 分类器并尝试根据提供的一些训练数据训练模型时,出现错误
libsvm classes not in CLASSPATH.
weka 网站上有一些关于如何解决这个问题的信息,但我不确定如何执行它们。
http://weka.wikispaces.com/LibSVM
我从提供的链接中获得了 libsvm.jar 文件。我不确定将它放在哪个文件中。
您必须设置您的类路径变量,以便它知道在本地机器上的哪里可以找到该 jar。
如果您在 Windows 上,请右键单击计算机-> 属性-> 高级系统设置-> 环境变量并将其设置在系统变量下。您可能已经有一个类路径变量;所以只需将你的jar文件的路径添加到最后。
添加到 Rob 的答案:适合您的价值观,如下所示。这就是它为我保存的方式。
在您的 .bash_profile 文件或环境变量中,您需要将完整路径附加到 libsvm jar 文件 对于 .basch_profile 文件:export CLASSPATH=$CLASSPATH:/FULL_PATH_TO_LIBSVM.jar
您只需要使用最新版本的 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 );