モデルを作成して保存するコードを記述しました。それはうまく動作します。私の理解は、データはデフォルトで10倍に分割されているということです。モデルを作成するときに、データを2つのセット(トレーニングとテスト)に分割する必要があります。 WekaのUIで、私は "Percentage split"ラジオボタンを使ってそれを行うことができます。私はコードを通してそれをする方法を知りたい。私はそれを2つの部分に分けて欲しい。80%はトレーニングで、20%はテストである。ここに私のコードです。Java Weka:分割率を指定する方法は?
FilteredClassifier model = new FilteredClassifier();
model.setFilter(new StringToWordVector());
model.setClassifier(new NaiveBayesMultinomial());
try {
model.buildClassifier(trainingSet);
} catch (Exception e1) { // TODO Auto-generated catch block
e1.printStackTrace();
}
ObjectOutputStream oos = new ObjectOutputStream(
new FileOutputStream(
"/Users/me/models/MyModel.model"));
oos.writeObject(model);
oos.flush();
oos.close();
trainingSetここにはすでにインスタンスオブジェクトが設定されています。誰かがこれで私を助けることができますか?
ありがとうございます! UIクラスで
期待どおりに動作しています。ありがとう! – rishi
答えは正しいです。しかし、その場合、列車とテストセットへの分割はランダムではありません。データセットを列車に分割し、ランダムにテストをテストするにはどうすればよいですか?つまり、データセットからデータをランダムに取り出し、列車とテストセットを形成します。 – Ronin