weka .net ikvm - >为什么加载一个csv文件是如此之慢?

时间:2012-03-28 22:19:38

标签: c# .net performance weka ikvm

我按照教程使用来自.net的weka http://weka.wikispaces.com/IKVM+with+Weka+tutorial 问题:weka c#api花费了太多时间来加载一个简单的csv文件,对于一个小文件需要超过30秒,而weka资源管理器在1秒内加载同一个文件,任何想法?

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...

2 个答案:

答案 0 :(得分:6)

您是否在Visual Studio中使用F5运行此操作?在这种情况下,您在调试器内部运行,并且.NET调试器在异常性能方面非常糟糕。尝试使用Ctrl-F5(无调试器)运行。

答案 1 :(得分:0)

如果那太多了,请等待'直到你试图从weka中取出图表。或者更确切地说尝试。我最近使用weka(j48算法)完成了一个c#项目,因为我们通过ikvm运行weka.jar甚至5mb .arff文件分类花费的时间太长。总而言之,你的代码还可以,但问题是使用weka通过ikvm。

尝试创建一个单独的线程,并在应用程序执行其他操作时在后台使用weka。对于图形,唯一的选择是单独的java应用程序。