首先,我想說有很多方法來解決這個問題。我提到的解決方案非常簡單,但StackOverflow的其他答案沒有詳細描述,浪費了太多時間來驗證。所以我很樂意與所有的WEKA初學者分享:)
a)從Maven Repository Center下載LibSVM.jar。請注意,這個LibSVM.jar
不同於開發的libsvm.jar
;
b)將LibSVM.jar
添加到我們的Java項目的類路徑;
c)當需要時調用分類器LibSVM,請參閱以下Java代碼。
import weka.classifiers.functions.LibSVM; // contained in LibSVM.jar
String path = "file/train.arff";
Instances train = DataSource.read(path); // load the dataset
train.setClassIndex(train.numAttribute()-1); // set class index
LibSVM svm = new LibSVM(); // load the svm classifier
svm.buildClassifier(train);
Evaluation eval = new Evaluation(train);
eval.crossValidateModel(svm, train, 10, new Random(1)); // 10-fold cross-validation
LibSVM是它的唯一庫,因此您需要將libsvm.jar添加到您的項目庫。 – Steve
查看https://stackoverflow.com/questions/5223982/how-to-use-libsvm-with-weka-in-my-java-code可能有幫助。 – tale852150
非常感謝,但這兩種方法不適合我。 a)'WekaPackageManager'將拋出ClassNotFoundException異常; b)鏈接到'wlsvm.jar'是錯誤的,我也無法在'libsvm.jar'和'weka.jar'中找到類LibSVM。所以我懷疑這些方法是否真的由作者檢查:( – Yongfeng