2016-04-03 105 views
0

我在軟件包管理器中安裝了weka的LibSVM,並且它已成功安裝。但是,當我運行下面的命令 -在weka中找不到libsvm類

java -cp ./weka.jar weka.classifiers.meta.FilteredClassifier -F weka.filters.unsupervised.attribute.RemoveType -W weka.classifiers.functions.LibSVM -t training.arff -no-cv -T testing.arff -v -o 

它表明

Can't find class called: weka.classifiers.functions.LibSVM 

但是其他分類像Naive Bayes工作。爲什麼它找不到課堂。我正在使用mac。

回答

1

Weka.jar不包含LibSVM類。因此,要使用LibSVM,必須在classpath中提供LibSVM.jar以及weka.jar。您可以從

  1. www.csie.ntu.edu.tw/~cjlin/cgi-bin/libsvm.cgi?+ http://www.csie.ntu.edu.tw/~cjlin/libsvm+tar.gz(tar.gz的)
  2. www.csie.ntu下載LibSVM.jar ?.edu.tw /〜cjlin/cgi-bin目錄/ libsvm.cgi + http://www.csie.ntu.edu.tw/~cjlin/libsvm+zip(Zip文件)

    可以在classpath中提供LibSVM.jar如下:

的java -classpath $ pathtoweka。 jar/weka.jar:$ pathtoLibSVM.jar/libsvm.jar weka.classifiers.meta.FilteredClassifier - t $ pathtotrainfile -x 10 -c last -i -d $ pathtomodel -F'weka.filters.unsupervised.attribute.StringToWordVector -R 1 -W 3000 -N 0 -stemmer weka.core.stemmers.NullStemmer -T -I - M 1 -tokenizer weka.core.tokenizers.WordTokenizer -C' -W weka.classifiers.functions.LibSVM - -B

希望這會有所幫助。

+0

我能理解最後一部分。我將訓練和測試設置爲arff文件中的矢量。我不能使用這些嗎?這裏是什麼模型($ parhtomodel)? –

+0

我需要將aarf文件更改爲libsvm支持的文件嗎? –

+0

據我所知libSvm不需要任何特殊的arff結構,所以你可能不需要改變arff結構。但是,我不知道它是否接受float(如果vector是float)值作爲特徵。 $ pathtomodel指訓練後生成的模型。 – drp