development.GoodHonoursPrediction.java Source code

Java tutorial

Introduction

Here is the source code for development.GoodHonoursPrediction.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package development;

import java.util.Random;
import java.util.logging.Level;
import java.util.logging.Logger;
import utilities.ClassifierTools;
import weka.classifiers.Classifier;
import weka.classifiers.Evaluation;
import weka.classifiers.bayes.NaiveBayes;
import weka.classifiers.lazy.IBk;
import weka.classifiers.trees.J48;
import weka.classifiers.trees.RandomForest;
import weka.core.Instances;

/**
 *
 * @author ajb
 */
public class GoodHonoursPrediction {

    public static void main(String[] args) {
        Instances data = ClassifierTools.loadData("C:\\Admin\\Perfomance Analysis\\GoodHonsClassification");
        RandomForest rf = new RandomForest();
        double[][] a = ClassifierTools.crossValidationWithStats(rf, data, data.numInstances());
        System.out.println(" Random forest LOOCV accuracy =" + a[0][0]);
        J48 tree = new J48();
        a = ClassifierTools.crossValidationWithStats(tree, data, data.numInstances());
        System.out.println(" C4.5 LOOCV accuracy =" + a[0][0]);
        IBk knn = new IBk(11);
        knn.setCrossValidate(true);
        a = ClassifierTools.crossValidationWithStats(knn, data, data.numInstances());
        System.out.println(" KNN LOOCV accuracy =" + a[0][0]);
        NaiveBayes nb = new NaiveBayes();
        a = ClassifierTools.crossValidationWithStats(nb, data, data.numInstances());
        System.out.println(" Naive Bayes LOOCV accuracy =" + a[0][0]);

        /*       try {
        tree.buildClassifier(data);
               System.out.println(" Tree ="+tree);
               Classifier cls = new J48();
                Evaluation eval = new Evaluation(data);
                Random rand = new Random(1);  // using seed = 1
                int folds = data.numInstances();
                eval.crossValidateModel(cls, data, folds, rand);
                System.out.println(eval.toSummaryString());        
                   
               tree.getTechnicalInformation();
               } catch (Exception ex) {
        Logger.getLogger(GoodHonoursPrediction.class.getName()).log(Level.SEVERE, null, ex);
               }
               */

    }

}