I try to classify an instance having an arff file as trained data. The problem is that when I try to create the new Instance I get the exception:
java.lang.ArrayIndexOutOfBoundsException: -1
Here is the simple code for creating the new Instance:
Instance instance = new Instance(2);
instance.setValue(new Attribute("attr1"), 1);
instance.setValue(new Attribute("attr2"), 1);
The exception occurs when I call the setValue method.
Any help please?
Update after Marcin's response
I use weka 3.6.11. If I use the attributes from the training data, I get another exception when I try to classify the new Instance. For example, if I use
Instance newInstance = new Instance(instances.numAttributes());
for (int i = 0; i < instances.numAttributes(); i++) {
Attribute attr = instances.attribute(i);
newInstance.setValue(attr, 0);
}
classifier.classifyInstance(newInstance));
I get the exception java.lang.IllegalArgumentException: Instance has no dataset assigned!! at the last line