2016-04-03 8 views
0

Ich habe LibSVM in Weka von Paketmanager installiert und es ist erfolgreich installiert. Aber wenn ich bin mit den folgenden Kommando-libsvm Klasse nicht in Weka gefunden

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 

es zeigt, dass

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

Aber auch andere Klassifizierer wie Naive Bayes arbeitet. Warum findet man die Klasse nicht? Ich benutze Mac.

Antwort

1

Weka.jar enthält keine LibSVM-Klasse. Um LibSVM zu verwenden, müssen Sie daher LibSVM.jar zusammen mit weka.jar im Klassenpfad bereitstellen. Sie können LibSVM.jar von

  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 herunterladen ? .edu.tw/~ cjlin/cgi-bin/libsvm.cgi + http://www.csie.ntu.edu.tw/~cjlin/libsvm+zip (Zip-Datei)

    Sie LibSVM.jar in classpath zur Verfügung stellen kann, wie folgt:

java -classpath $ pathtoweka. jar/weka.jar: $ pathtoLibSVM.jar/libsvm.jar weka.classifiers.meta.FilteredClassifier - t $ pathtotrainfile -x 10 -c letzte -i -d $ pathtomodel -F 'weka.filters.unsereditored.attribute.StringToWordVector -R 1 -W 3000 -N0 -stem weka.core.stemmers.NullStemmer -T -I - M 1 -Tokenizer weka.core.tokenizers.WordTokenizer -C '-W weka.classifiers.functions.LibSVM - -B

Hoffe das hilft.

+0

Ich kann den letzten Teil verstehen. Ich habe Training und Tests als Vektor in der ARFF-Datei eingestellt. Kann ich diese nicht benutzen? Was ist das Modell hier ($ parhtomodel)? –

+0

Muss ich die Aarf-Datei in libsvm unterstützte Datei ändern? –

+0

So weit ich weiß, dass libSvm keine spezielle arff-Struktur benötigt, müssen Sie die arff-Struktur nicht ändern. Allerdings weiß ich nicht, ob es Float (wenn Vektoren Float sind) Werte als Features akzeptiert. $ pathtomodel bezieht sich auf das nach dem Training generierte Modell. – drp