2016-05-18 29 views
1

我正在比較使用knime的項目的各種分類算法。我對支持向量機(LibSVM)的結果非常滿意。 然後,我想嘗試分層分類並安裝RapidMiner插件進行編程。爲了讓事情順利進行,我首先測試了沒有層次結構的SVM實現。Rapidminer中的支持向量機結果比knime差很多

比較knS LibSVM實現和rapidminer LibSVM實現的結果,我注意到rapidminer實現產生了更糟糕的結果。實際上,編程實現時產生的錯誤率約爲2.4%,而快速錯誤產生的錯誤率約爲200%。 61%。 這是爲什麼?難道我做錯了什麼?

Confusion Matrix Comparison

我用C-SVC支持向量機與線性核,1.0成本,0.001ε和80MB的高速緩存爲兩種實現。

Rapidminer Workflow and OptionsKnime Options

這些文件是維基百科文章的文本,預處理,轉化爲二進制文檔向量與某種類型的標記。

我希望你能幫助我。

+1

如果沒有庫版本(我猜RapidMiner使用的是比KNIME更老的LibSVM)有點難以說明,但是在較老的LibSVM版本中可能存在一個錯誤。我也可能在數據轉換中發生了錯誤,RapidMiner(KNIME中)看到錯誤的數據。你能否在KNIME之外檢查RapidMiner 5.3.15的版本? (使用最新的7.1.x版本或者如果你有權訪問7.2預覽版本也許會很有趣,我知道最近的RapidMiner在導入/導出方面存在一些瘋狂的侷限性,我明白你是否不想檢查它們。 ) 謝謝。 –

+0

非常感謝您的回覆。 數據轉換似乎是問題所在。 使用rapidminer studio(5.3.15),錯誤率下降到3.3%,這足以繼續。 – user2509422

+0

我試圖重現您的問題:https://drive.google.com/file/d/0B_71sAq09Nu2VzM3bmxoakNJN00/view?usp=sharing雖然我只有微小的差異。我發現可疑的是你正在使用RapidMiner中的'Nominal to ...'操作符。我認爲這不是必需的。 (在我的工作流程中,我已經從流程中刪除了行ID列來強調這一改變,但是您也可以單擊「行ID」選項卡上的「使用」按鈕不使用它(它的文本將變成「不要use')。) –

回答

2

你並不需要在這種情況下,Row ID S(Row ID選項卡上,通過點擊它的情況下,它是Use和文本字段沒有禁用作出按鈕顯示Do not use),你不應該執行Nominal to...轉換在他們。之後,在這兩種情況下你都應該得到類似的結果。