Could anyone tell me pleas, why I got the following error , when using this code:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Type mismatch: cannot convert from InstanceExample to Instance
at moa.tasks.examplecode.main(examplecode.java:40)
package moa.tasks;
import moa.streams.ExampleStream;
import com.yahoo.labs.samoa.instances.Instance;
import com.yahoo.labs.samoa.instances.Instances;
import moa.core.Example;
import moa.learners.Learner;
import com.yahoo.labs.samoa.instances.Instance;
import com.yahoo.labs.samoa.instances.InstanceData;
import com.yahoo.labs.samoa.instances.Prediction;
import moa.classifiers.Classifier;
import moa.classifiers.trees.HoeffdingTree;
import moa.streams.generators.RandomRBFGenerator;
import weka.core.converters.ConverterUtils.DataSource;
public class examplecode {
public static void main(String args[]){
int numInstances =10000;
Classifier learner=new HoeffdingTree();
RandomRBFGenerator stream = new RandomRBFGenerator();
stream.prepareForUse();
learner.setModelContext(stream.getHeader());
learner.prepareForUse();
int numberSamplesCorrect = 0;
int numberSamples = 0;
boolean isTesting = true;
while(stream.hasMoreInstances() && numberSamples < numInstances){
Instance trainInst = stream.nextInstance();
if(isTesting){
if(learner.correctlyClassifies(trainInst)){
numberSamplesCorrect++;
}
}
numberSamples++;
learner.trainOnInstance(trainInst);
}
double accuracy = 100.0*(double)numberSamplesCorrect/(double)numberSamples;
System.out.println(numberSamples+"instances processed with"+accuracy+"%accuracy") ;
}
}
Note: when doing cast type (
Instance trainInst= (Instance) stream.nextInstance();)
I got this error:
Exception in thread "main" java.lang.ClassCastException: moa.core.InstanceExample cannot be cast to com.yahoo.labs.samoa.instances.Instance
at moa.tasks.examplecode.main(examplecode.java:40)