2012-03-28 146 views
2

我按照教程使用weka來自.net http://weka.wikispaces.com/IKVM+with+Weka+tutorial 問題:weka c#api花費太多時間來加載一個簡單的csv文件,在加載這個相同的文件時,一個小文件需要30秒以上的時間1秒由weka探險家,任何想法?weka .net ikvm - >爲什麼加載csv文件太慢了?

C#示例代碼:

string filename = "weka_file.csv"; 
// weka.core.converters.ConverterUtils.DataSource source = new weka.core.converters.ConverterUtils.DataSource(filename); // doesn't seem to work for csv files 
// weka.core.Instances instsOrg = source.getDataSet(); 
weka.core.converters.CSVLoader csvLoader = new weka.core.converters.CSVLoader(); 
csvLoader.setSource(new java.io.File(filename)); 
weka.core.Instances instsOrg = csvLoader.getDataSet(); // this takes 30 secondes for a particular csv file I have and it take only 1 sec to load it in with the weka explorer... 
+0

如何分析? – Nikolay 2012-03-29 07:13:17

回答

6

你跟F5在Visual Studio中的任何機會運行呢?在這種情況下,你在調試器內部運行,並且.NET調試器對於異常性能很糟糕。嘗試使用Ctrl-F5(無調試器)運行。

0

如果這太多,請等待,直到您嘗試從weka中獲取圖表。或者試着去。我最近使用weka(j48算法)完成了一個c#項目,並且由於我們通過ikvm運行weka.jar,即使是5mb .arff文件分類也需要很長時間。總而言之,你的代碼是可以的,但問題在於weka通過ikvm。

嘗試創建一個單獨的線程,並在應用程序執行其他操作時在後臺使用weka。對於圖形來說,唯一的選擇是獨立的java應用程序。