私は、Google App Engine (Eclipse を使用) で WEKA [1] を一部に使用するアプリケーションを構築しています。このアプリは ARFF ベースをロードする必要がありますが、それで問題ありません。これらのベースがあるディレクトリは、プロジェクトのルート ディレクトリにあります。次の行は、ベースのロードを担当します。
1. DataSource source;
2. source = new DataSource("bases/iris.arff");
3. Instances trainInstances = source.getDataSet();
4. trainInstances.setClassIndex(trainInstances.numAttributes() - 1);
上記の行は、アプリケーションの実行を担当するサーブレットで呼び出されるコードの一部です。サーブレットは正常に実行されますが、「ソース」変数が arff ファイルを読み取れないため、3 行目で次の例外が発生します。
「java.io.IOException: ソースが指定されていません weka.core.converters.ArffLoader.getDataSet(ArffLoader.java:1003)」
[2] によると、
次の場所にある場合、アプリケーションの一部としてアップロードされたファイルから読み取ることができます。 )
私はこの2つのポイントに従いましたが、成功しませんでした。2番目のものに対して、私の構成は次のとおりです。
<resource-files>
<include path="/bases/**.arff" />
</resource-files>
この長い歴史を踏まえて、私はあなたに尋ねます:ARFFベースをロードできるようにするために、「ベース」ディレクトリをどこかに置くか、GAE xmlファイルまたはEclipseで何かを構成する方法はありますか?
参考文献
[1] www.cs.waikato.ac.nz/ml/weka/
[2] https://developers.google.com/appengine/kb/java#readfile