トレーニングデータに存在する属性に基づいてフィルタリングする分類済みフィルターを実装しています。
//implement filter that standardizes via training set
Standardize filter = new Standardize();
filter.setInputFormat(trainingData);
//create a classifier
M5P m5p = new M5P();
//Create a filtered classified, set its filter and classifier
FilteredClassifier fc = new FilteredClassifier();
fc.setFilter(filter);
fc.setClassifier(m5p);
// train and make predictions
fc.buildClassifier(trainingData);
for (int i = 0; i < testingData.numInstances(); i++) {
double pred = fc.classifyInstance(testingData.instance(i));
System.out.print("ID: " + testingData.instance(i).value(0));
System.out.print(", actual: " + testingData.classAttribute().value((int) testingData.instance(i).classValue()));
System.out.println(", predicted: " + testingData.classAttribute().value((int) pred));
}
次に、コードはいくつかの予測を行う必要があります。ただし、空白の出力が得られます。
ID: 6.0, actual: , predicted:
ID: 4.0, actual: , predicted:
ID: 4.0, actual: , predicted:
ID: 5.0, actual: , predicted:
ID: 5.0, actual: , predicted:
ID: 4.0, actual: , predicted:
ID: 4.0, actual: , predicted:
ID: 7.0, actual: , predicted:
これを修正する方法についてのアイデアはありますか? ありがとう!