خیلی ممنونم.
کدی که من استفاده کردم به شکل زیر هس:
....
Remove rm = new Remove();
rm.setAttributeIndices(options3);
rm.setInputFormat(train);
train = Filter.useFilter(train, rm); // apply filter
if (train.classIndex() == -1) {
train.setClassIndex(train.numAttributes() - 1);
}
test = Filter.useFilter(test, rm); // apply filter
if (test.classIndex() == -1)
{
test.setClassIndex(test.numAttributes() - 1);
}
rm.setOptions(options2);
rm.setInputFormat(train);
newTrain2 = Filter.useFilter(train, rm); // apply filter
if (newTrain2.classIndex() == -1) {
newTrain2.setClassIndex(newTrain2.numAttributes() - 1);
}
newTest2 = Filter.useFilter(test, rm); // apply filter
if (newTest2.classIndex() == -1)
{
newTest2.setClassIndex(newTest2.numAttributes() - 1);
}
Classifier cls = new SMO();
....
مشکل قبلی تقریبا با کدی که به شکل بالا نوشتم حل شد. اما الان مشکل این هست که خطای زیر رو موقع اجرا می ده که علتش رو نمی دونم ...
لطفا راهنماییم کنین...
weka.core.UnsupportedAttributeTypeException: weka.classifiers.functions.SMO: Cannot handle numeric class!
at weka.core.Capabilities.test(Capabilities.java:949)
at weka.core.Capabilities.test(Capabilities.java:1105 )
at weka.core.Capabilities.test(Capabilities.java:1018 )
at weka.core.Capabilities.testWithFail(Capabilities.j ava:1297)
at weka.classifiers.functions.SMO.buildClassifier(SMO .java:1251)