2012-03-28 2 views
2

私はwekaを使用するチュートリアルに従いました。 http://weka.wikispaces.com/IKVM+with+Weka+tutorial 問題:weka c#apiは単純なcsvファイルを読み込むのに時間がかかりすぎます。同じファイルが読み込まれている間に小さなファイルの場合は30秒以上かかりますwekaエクスプローラで1秒、どんな考えですか?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

答えて

6

は万が一のVisual StudioでF5でこれを実行していますか?その場合、デバッガ内で実行されており、.NETデバッガは例外的なパフォーマンスで恐ろしいものです。 Ctrl-F5(デバッガなし)で実行してみてください。

0

これがあまりにも大きい場合は、wekaからグラフを取得しようとするまで待ってください。またはむしろ試してみてください。私は最近、weka(j48アルゴリズム)を使ってC#プロジェクトを完成させました.ikavを使ってweka.jarを実行するので、5mb .arffファイルの分類も時間がかかります。要約すると、コードはOKですが、問題はweka throught ikvmを使用していることです。

別のスレッドを作成し、アプリケーションが何か他のことをしている間にバックグラウンドでwekaを使用してみてください。グラフの場合、唯一のオプションは別個のJavaアプリケーションです。

関連する問題