2013-06-22 56 views
0

我在機器學習中使用Weka工具進行SMO。我怎樣才能在Java代碼片段中生成預測結果?當我將「buildLogisticModels」設置爲true時使用GUI工具時,我得到以下輸出。評估類中的哪種方法會生成輸出?請看下面的例子col1 - instance#; col2 =實際; col3 =預測; col4 =錯誤; col5 =預測:Weka在Java代碼片段中輸出GUI工具

1  1:1  1:1  0.781 
2  1:1  1:1  0.644 
3  1:1  1:1  0.742 
4  1:1  1:1  0.748 
5  1:1  1:1  0.810 
6  2:0  1:1 + 0.864 
7  2:0  1:1 + 0.845 
8  2:0  1:1 + 0.722 

此外,有沒有什麼辦法可以在Java中生成二進制SMO輸出?例如:

  • 1 * < 0.307692 0.588235 0 0.333333> * X]
  • 1 * < 0.461538 0.529412 0.5 0> * X]
  • 1 * < 0.384615 0.588235 0.25 0.333333> * X]
  • 1 * < 0.230769 0.705882 0.25 0.666667> * X]
  • 1 * < 0.615385 0.764706 0.25 0.333333> * X]

在此先感謝。

+0

你必須要更具體,我想。您是否已經在Java中使用Weka了?如果您是,那麼只需瀏覽weka API文檔,具體瞭解如何顯示結果。你甚至沒有說你正在嘗試使用哪個學習者或任何東西。我不知道SMO輸出是什麼。你的意思是SOM嗎?如在自組織地圖中一樣? – RutledgePaulV

+0

嘿保羅,我真的很抱歉!我使用的是支持向量機(Sequential Minimal Optimization,SMO),我使用的內核是RBF內核,這個輸出是由GUI生成的,但我試圖將Weka類導入到Java程序中以獲得相同的結果。但是,使用命令行選項會更容易。我使用-d選項來顯示信息統計信息(包括上面顯示的輸出),使用-p選項使用單獨的命令獲取預測結果(因爲-p選項只寫入這些預測) –

回答

0

在java程序中使用Weka API絕對有辦法做到這一點。您只需添加對weka.jar文件的引用並建立正確的對象,然後探索API以找到必要的方法。看看這裏開始吧。 IMO只是因爲命令行似乎相當hackish的,我會去的API路線..

http://weka.wikispaces.com/Use+Weka+in+your+Java+code

+0

感謝您回覆!我查看了方法,並且能夠找到所有其他輸出組件。但是,我無法找到一種方法來生成上面粘貼的輸出。 ,我甚至都不知道輸出是什麼意思,我仍然不確定它是否被稱爲二進制SMO輸出,但是我用它作爲頭部,因爲這部分出現在由GUI生成的二進制SMO部分下,但是,我完全同意這個API絕對是幻想astic! –