Mercurial > hg > anteater
view src/MLTest.java @ 0:036535fcd179
anteater
author | jdamerow |
---|---|
date | Fri, 14 Sep 2012 10:30:43 +0200 |
parents | |
children |
line wrap: on
line source
import java.io.IOException; import java.util.Enumeration; import weka.classifiers.Classifier; import weka.core.Instance; import weka.core.Instances; import weka.core.converters.ConverterUtils.DataSource; public class MLTest { /** * @param args */ public static void main(String[] args) { // Dataset data = null; // try { // data = FileHandler.loadDataset(new File("/Users/jdamerow/MPIWG/EndangeredSpecies/workspace/de.mpiwg.anteater/training/ApplicantTrainingDataData.data"), 0, ";"); // } catch (IOException e1) { // // TODO Auto-generated catch block // e1.printStackTrace(); // return; // } /* Contruct a KNN classifier that uses 5 neighbors to make a // *decision. */ // Classifier knn = new KNearestNeighbors(5); // knn.buildClassifier(data); // int correct = 0, wrong = 0; // /* Classify all instances and check with the correct class values */ // for (Instance inst : dataForClassification) { // Object predictedClassValue = knn.classify(inst); // Object realClassValue = inst.classValue(); // if (predictedClassValue == realClassValue) // correct++; // else // wrong++; // } //LMT lmt = new LMT(); Classifier cls = null; try { cls = (Classifier) weka.core.SerializationHelper.read("/Users/jdamerow/MPIWG/EndangeredSpecies/workspace/de.mpiwg.anteater/src/LMT.model"); } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); } Instances testData = null; try { testData = DataSource.read("/Users/jdamerow/MPIWG/EndangeredSpecies/workspace/de.mpiwg.anteater/mlAnalysis/00-18565.arff"); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } testData.setClassIndex(0); // Instances trainData = null; // try { // trainData = DataSource.read("/Users/jdamerow/MPIWG/EndangeredSpecies/workspace/de.mpiwg.anteater/training/ApplicantTrainingDataWithoutTID.arff"); // } catch (IOException e) { // // TODO Auto-generated catch block // e.printStackTrace(); // } catch (Exception e) { // // TODO Auto-generated catch block // e.printStackTrace(); // } // trainData.setClassIndex(0); Enumeration<Instance> en = testData.enumerateInstances(); while (en.hasMoreElements()) { try { System.out.println(cls.classifyInstance(en.nextElement())); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } // Evaluation eval; // try { // eval = new Evaluation(trainData); // double[] results = eval.evaluateModel(cls, testData); // Enumeration<?> en = eval.predictions().elements(); // while (en.hasMoreElements()) { // System.out.println(); // System.out.println(en.nextElement()); // } // System.out.println(eval.toMatrixString()); // System.out.println("correct " + eval.pctCorrect()); // System.out.println("incorrect " + eval.pctIncorrect()); // } catch (Exception e) { // // TODO Auto-generated catch block // e.printStackTrace(); // } /* Wrap Weka classifier in bridge */ // Classifier javamlsmo = new WekaClassifier(smo); // /* Initialize cross-validation */ // CrossValidation cv = new CrossValidation(javamlsmo); // /* Perform cross-validation */ // Map<Object, PerformanceMeasure> pm = cv.crossValidation(data); // /* Load a dataset */ // Dataset dataForClassification = null; // try { // dataForClassification = FileHandler.loadDataset(new File("/Users/jdamerow/MPIWG/EndangeredSpecies/workspace/de.mpiwg.anteater/training/ApplicantTrainingDataData.data"), 0, ";"); // } catch (IOException e) { // // TODO Auto-generated catch block // e.printStackTrace(); // return; // } // int correct = 0, wrong = 0; // /* Classify all instances and check with the correct class values */ // for (Instance inst : dataForClassification) { // Object predictedClassValue = javamlsmo.classify(inst); // Object realClassValue = inst.classValue(); // if (predictedClassValue == realClassValue) // correct++; // else // wrong++; // } // // System.out.println("right " + correct); // System.out.println("wrong " + wrong); } }