我寫了代碼來創建模型並保存它。它工作正常。我的理解是數據,默認情況下,分爲10倍。我想在創建模型時將數據分成兩組(培訓和測試)。在Weka UI上,我可以通過使用「百分比分割」單選按鈕來完成。我想知道如何通過代碼來做到這一點。我希望它分成兩部分,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已經填充了Instances對象。有人可以幫我弄這個嗎?
在此先感謝!
測試和按預期工作。謝謝! – rishi
答案是對的。但是在那種情況下,分裂成火車和測試集並不是隨機的。我怎樣才能將數據集分解成火車並隨機測試測試?我的意思是......隨機從數據集中獲取數據並形成火車和測試集。 – Ronin