Napisałem kod, aby utworzyć model i zapisać go. To działa dobrze. Moje zrozumienie to domyślnie dane podzielone na 10 fałd. Chcę, aby dane zostały podzielone na dwa zestawy (szkolenie i testowanie) podczas tworzenia modelu. W interfejsie Weka mogę to zrobić za pomocą przycisku radiowego "Podział procentowy". Chcę wiedzieć, jak to zrobić za pomocą kodu. Chcę podzielić go na dwie części: 80% to szkolenie, a 20% to testy. Oto mój kod.Java Weka: Jak określić procent podziału?
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 tutaj jest już wypełniony obiekt Instances. Czy ktoś może mi w tym pomóc?
Z góry dziękuję!
Przetestowano i działało zgodnie z oczekiwaniami. Dzięki! – rishi
Odpowiedź jest właściwa. Ale w takim przypadku podział na pociąg i zestaw testów nie jest losowy. Jak mogę podzielić zestaw danych na pociąg i losowo przetestować test? Mam na myśli ... Losowe pobieranie danych z zestawu danych i tworzenie pociągu i zestawu testów. – Ronin