2012-03-28 142 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应用程序。