2012-02-12 12 views
10

私はMax OS X 10.7 Lionを実行しています。コマンドラインからLibSVMを使用してWEKAを使用したいと思います。私はこのエラーを取得する:MacのWEKAクラスパスにLibSVMクラスを追加する方法

Problem evaluating classifier: libsvm classes not in CLASSPATH! 

Error I am receiving in WEKA

私はLIBSVMライブラリhereを発見しました。 WEKAを見つけるために、Javaクラスパスに追加する必要があります。ダウンロードには、以下に示すいくつかのファイルが含まれています。 Java用のクラスパスに追加する方法がわかりません。

Files in LibSVM download that need to be added to classpath

私はそれはSMOの上に私のために好適であるので、WEKAでLIBSVM分類器を使用しようとしています。私はこれがJavaのクラスパスを意味するのか、それともWEKAに固有のものなのかも不明です。私はまた、これらのクラスをどこから得るべきかも知らない。どんな助けもありがとうございます。

+0

Javaプログラムで使用できるように、LibSVMをダウンロードし、抽出してクラスパスに追加する必要があります。クラスパスに追加する方法については、https://weka.wikispaces.com/LibSVMを参照してください。これらの命令が高すぎる場合は、この機械学習ビジネスを保留にして、Javaプログラミングの基礎に関するJavaの初心者のチュートリアル(http://www.homeandlearn.co.uk/java/java)に直接戻る必要があります。 htmlそれはすべてです: "23.7分でJavaを学ぶ!"タイトルのついた本は1時間でJavaの専門家になることを教えてくれました。現実には5年近くです。 –

+0

WEKAはGUIアプリケーションです。当時、私はそれを使用するためにJavaを知る必要はなかったからです(たぶん)。最近はPython(NLTKとscikit-learn)とR.にかなり満足しています。 – Dan

答えて

15

OS X(何のコマンドラインは必要ありません)にWEKAにLIBSVMのサポートを追加するための別の非常に簡単な方法です:

  1. here
  2. 行くからMacのアプリケーションフォルダ/にLIBSVMをダウンロード(ウェカアプリがインストールされているフォルダ)ウェカの
  3. 右クリック>
  4. コピー/Applications/Weka.app/Contents/Resources/Javaにlibsvm.jar「パッケージの内容を表示」選びました
  5. open /Applications/Weka.app/Contents/Info。お好きなテキストエディタでplistの
  6. <string>$JAVAROOT/weka.jar:$JAVAROOT/libsvm.jar</string>に変更<string>$JAVAROOT/weka.jar</string>(あなたも、ここでヒープサイズを調整することができます)
  7. 保存してWEKAの作業ディレクトリにLIBSVMファイルをダウンロードし、それらを過ぎてWEKAに
+0

ありがとうございましたが、私は問題を持っています。どうすればそれを処理できますか? – ndrx42

11

libsvm.jarを任意のフォルダに入れることができます。次のように~/Library/Java、その後は、コマンドラインからWEKAを実行します。

$ java -Xmx512m -classpath /Users/chl/weka/weka.jar:/Library/Java/libsvm.jar weka.gui.GUIChooser 

また、あなたのCLASSPATH*.jarファイルを見つけることができる場所を反映するために更新することができます。私は、次のしている私の.profile

export CLASSPATH="/Users/chl/weka/weka.jar:~/Library/Java/*" 

(あなたのweka.jarの正しい場所を反映するために/Users/chl/wekaを交換する必要があります。あなたがソースファイルをダウンロードした場合、通常、それはディレクトリの最上位に位置していますかこの方法でweka-3-7-3.app/Contents/Resources/Java/の下であなたがバンドルされたアプリを使用している場合。)

、WEKAのGUIを起動する最初のコマンドは、I以来java -jarを使用しないでください

$ java -classpath $CLASSPATH:weka.jar:libsvm.jar weka.gui.GUIChooser 

に簡素化tはhereのようにCLASSPATHを無効にします。

私もすべてのものを包むための私の.bash_aliasesで別名があります。例えば、として、コマンドラインからWEKAを使用するために

alias weka='java -Xmx512m -classpath $CLASSPATH:weka.jar' 

をここで

$ weka weka.classifiers.trees.RandomTree -t iris.arff -i 
+0

ありがとう!私はこの夕方にこれを試してみます(そして、これがうまくいくなら、これを受け入れられた答えとしてください)。もう一度ありがとう、 – Dan

+0

@ DanO'Day上記を試す機会がありましたか?それは働いたのですか? – chl

+0

私はこれに戻らないことをお詫びします。はい、これは素晴らしいことでした!お返事ありがとうございます。 – Dan

1

を開始します。 コントロールパネル - >システム - >アドバンスシステム設定 - >環境変数の編集に進み、Class_Path変数を選択し、そのパスをファイル名とともにコピーします。 、つまりC:\ Program Files \ Weka \ Libsvm.jarです。 と OK-OK-OKをクリックして、WEKA

1

1を再起動します)コピーlibsvm.jarはWeka.appのパッケージ内容でJavaフォルダにhereが見つかりました:

<path-to-Weka.app>/Weka.app/Contents/Java/ 

2)に次の行を追加します。あなたの.bash_profileまたは類似の構成ファイル:

export CLASSPATH="<path-to-Weka.app>/Weka.app/Contents/Java/weka.jar:<path-to-Weka.app>/Weka.app/Contents/Java/libsvm.jar" 

注:あなたがあなた自身のパスで<path-to-Weka.app>を交換する必要があります。それは/Applications/JavaApp/weka-3-6-11-oracle-jvm.appのように見えます。

関連する問題