Hi all
Current code is as follows:-
***************************************
private class WekaApp {
public BufferedReader readDataFile(String filename) {
BufferedReader inputReader = null;
return inputReader;
}
void doInit() throws Exception {
BufferedReader datafile = readDataFile("C:/Databases/us_copiosus");
InstanceQuery query = new InstanceQuery();
query.setQuery("SELECT * from USD_JPY");
Instances data = query.retrieveInstances();
// Split instances into training and testing (the split percentage is 97.56%)
double percent = 97.56;
int trainingSize = (int) Math.round(data.numInstances() * percent / 100);
int testingSize = data.numInstances() - trainingSize;
Instances training = new Instances(data, 0, trainingSize);
Instances testing = new Instances(data, trainingSize, testingSize);
// Choose a set of classifiers
Classifier[] models = new Classifier[] {
new KStar(),
new J48(),
new JRip(),
new NaiveBayes(),
new LMT(),
new KStar(),
new LibSVM() };
// Run for each classifier model
for(int j = 0; j < models.length; j++) {
Remove filter = new Remove(); // First, we create the base object.
filter.setAttributeIndicesArray(filtersArray[j]); // Finally, we provide an array of integer indexes.
//build classifier
FilteredClassifier fc = new FilteredClassifier(); // Create a FilteredClassifier object
((OptionHandler)models[j]).setOptions(optionsArray[j]);
fc.setClassifier(models[j]);
MultiFilter mf = new MultiFilter();
Filter[]filtersToApply= new Filter[2];
filtersToApply[0] = filter; //the remove filter for each classifier
ClassAssigner classAssigner = new ClassAssigner();
classAssigner.setClassIndex("last");
filtersToApply[1]=classAssigner;
mf.setFilters(filtersToApply);
fc.setFilter(mf);
fc.buildClassifier(training);
// test the model
Evaluation eval = new Evaluation(training);
eval.evaluateModel(fc, testing);
etc...etc...................
***************************************
Any suggestions as to why the Class attribute is not being set correctly?
Bob M
Current code is as follows:-
***************************************
private class WekaApp {
public BufferedReader readDataFile(String filename) {
BufferedReader inputReader = null;
return inputReader;
}
void doInit() throws Exception {
BufferedReader datafile = readDataFile("C:/Databases/us_copiosus");
InstanceQuery query = new InstanceQuery();
query.setQuery("SELECT * from USD_JPY");
Instances data = query.retrieveInstances();
// Split instances into training and testing (the split percentage is 97.56%)
double percent = 97.56;
int trainingSize = (int) Math.round(data.numInstances() * percent / 100);
int testingSize = data.numInstances() - trainingSize;
Instances training = new Instances(data, 0, trainingSize);
Instances testing = new Instances(data, trainingSize, testingSize);
// Choose a set of classifiers
Classifier[] models = new Classifier[] {
new KStar(),
new J48(),
new JRip(),
new NaiveBayes(),
new LMT(),
new KStar(),
new LibSVM() };
// Run for each classifier model
for(int j = 0; j < models.length; j++) {
Remove filter = new Remove(); // First, we create the base object.
filter.setAttributeIndicesArray(filtersArray[j]); // Finally, we provide an array of integer indexes.
//build classifier
FilteredClassifier fc = new FilteredClassifier(); // Create a FilteredClassifier object
((OptionHandler)models[j]).setOptions(optionsArray[j]);
fc.setClassifier(models[j]);
MultiFilter mf = new MultiFilter();
Filter[]filtersToApply= new Filter[2];
filtersToApply[0] = filter; //the remove filter for each classifier
ClassAssigner classAssigner = new ClassAssigner();
classAssigner.setClassIndex("last");
filtersToApply[1]=classAssigner;
mf.setFilters(filtersToApply);
fc.setFilter(mf);
fc.buildClassifier(training);
// test the model
Evaluation eval = new Evaluation(training);
eval.evaluateModel(fc, testing);
etc...etc...................
***************************************
Any suggestions as to why the Class attribute is not being set correctly?
Bob M