2017-07-07 15 views
0

にLIBSVMをインポートする方法を、私たちはまずので、我々はすべてのJavaプログラミングでは、私のJavaコード

import weka.classifiers.trees.RandomForest; 
... 
RandomForest rf = new RandomForest(); // RandomForest object 
、以下のコードの形でWEKAで分類したり、クラスタ化アルゴリズムを呼び出すことができ、私たちのクラスパスにweka.jarを追加する必要があります

残念ながら、weka.jarにこのようなクラスがないので、LibSVMアルゴリズムをインポートするのにこの方法を使用することはできません。

私の質問は、LibSVMをJavaコードにインポートする方法です。どんな助けでも感謝します:)

+0

です。LibSVMは唯一のライブラリですので、libsvm.jarをプロジェクトライブラリに追加する必要があります。 – Steve

+0

https://stackoverflow.com/questions/5223982/how-to-use-libsvm-with-weka-in-my-java-codeをご覧ください。 – tale852150

+0

ありがとう、これらの2つの方法は私のために動作しません。 a) 'WekaPackageManager'はClassNotFoundExceptionの例外をスローします。 b) 'wlsvm.jar'へのリンクが間違っていて、' libsvm.jar'と 'weka.jar'にLibSVMクラスが見つかりません。だから、私はこれらのメソッドが本当に作者によってチェックされているのか疑問に思っています。( – Yongfeng

答えて

0

まず、問題を解決する方法はたくさんあると言いたいと思います。私が言及した解決策は非常に単純ですが、StackOverflowからの他の回答は詳細には記述されていません。だから私はすべてのWEKA初心者と共有しています:)

a)Maven Repository CenterからLibSVM.jarをダウンロードしてください。このLibSVM.jarは、Chih-Chung Chang and Chih-Jen Linによって開発されたlibsvm.jarとは異なります。

b)JavaプロジェクトのクラスパスにLibSVM.jarを追加します。

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 
0

参照:https://weka.wikispaces.com/LibSVM

使用ウェカのパッケージマネージャLIBSVMをインストールします。インストール中

java -cp weka.jar weka.core.WekaPackageManager -install-package LibSVM 

、それは示しています:

[DefaultPackageManager] Tmp file: /tmp/LibSVM1.0.107382715397815864641.zip 
[DefaultPackageManager] Installing: Description.props 
[DefaultPackageManager] Installing: LibSVM.jar 
[DefaultPackageManager] Installing: build_package.xml 
... 

あなたが「LibSVM.jarが」どこかにインストールされていることを確認することができ、これを実行するよりも、「weka.jarは」現在のフォルダ内にあると仮定します。私の場合は、

/home/john/wekafiles/packages/LibSVM/LibSVM.jar 
関連する問題