comparison src/MLTest.java @ 0:036535fcd179

anteater
author jdamerow
date Fri, 14 Sep 2012 10:30:43 +0200
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:036535fcd179
1 import java.io.IOException;
2 import java.util.Enumeration;
3
4 import weka.classifiers.Classifier;
5 import weka.core.Instance;
6 import weka.core.Instances;
7 import weka.core.converters.ConverterUtils.DataSource;
8
9
10 public class MLTest {
11
12 /**
13 * @param args
14 */
15 public static void main(String[] args) {
16 // Dataset data = null;
17 // try {
18 // data = FileHandler.loadDataset(new File("/Users/jdamerow/MPIWG/EndangeredSpecies/workspace/de.mpiwg.anteater/training/ApplicantTrainingDataData.data"), 0, ";");
19 // } catch (IOException e1) {
20 // // TODO Auto-generated catch block
21 // e1.printStackTrace();
22 // return;
23 // }
24 /* Contruct a KNN classifier that uses 5 neighbors to make a
25 // *decision. */
26 // Classifier knn = new KNearestNeighbors(5);
27 // knn.buildClassifier(data);
28
29
30 // int correct = 0, wrong = 0;
31 // /* Classify all instances and check with the correct class values */
32 // for (Instance inst : dataForClassification) {
33 // Object predictedClassValue = knn.classify(inst);
34 // Object realClassValue = inst.classValue();
35 // if (predictedClassValue == realClassValue)
36 // correct++;
37 // else
38 // wrong++;
39 // }
40
41 //LMT lmt = new LMT();
42
43 Classifier cls = null;
44 try {
45 cls = (Classifier) weka.core.SerializationHelper.read("/Users/jdamerow/MPIWG/EndangeredSpecies/workspace/de.mpiwg.anteater/src/LMT.model");
46 } catch (Exception e1) {
47 // TODO Auto-generated catch block
48 e1.printStackTrace();
49 }
50
51 Instances testData = null;
52 try {
53 testData = DataSource.read("/Users/jdamerow/MPIWG/EndangeredSpecies/workspace/de.mpiwg.anteater/mlAnalysis/00-18565.arff");
54 } catch (IOException e) {
55 // TODO Auto-generated catch block
56 e.printStackTrace();
57 } catch (Exception e) {
58 // TODO Auto-generated catch block
59 e.printStackTrace();
60 }
61 testData.setClassIndex(0);
62
63 // Instances trainData = null;
64 // try {
65 // trainData = DataSource.read("/Users/jdamerow/MPIWG/EndangeredSpecies/workspace/de.mpiwg.anteater/training/ApplicantTrainingDataWithoutTID.arff");
66 // } catch (IOException e) {
67 // // TODO Auto-generated catch block
68 // e.printStackTrace();
69 // } catch (Exception e) {
70 // // TODO Auto-generated catch block
71 // e.printStackTrace();
72 // }
73 // trainData.setClassIndex(0);
74
75 Enumeration<Instance> en = testData.enumerateInstances();
76 while (en.hasMoreElements()) {
77 try {
78 System.out.println(cls.classifyInstance(en.nextElement()));
79 } catch (Exception e) {
80 // TODO Auto-generated catch block
81 e.printStackTrace();
82 }
83 }
84
85 // Evaluation eval;
86 // try {
87 // eval = new Evaluation(trainData);
88 // double[] results = eval.evaluateModel(cls, testData);
89 // Enumeration<?> en = eval.predictions().elements();
90 // while (en.hasMoreElements()) {
91 // System.out.println();
92 // System.out.println(en.nextElement());
93 // }
94 // System.out.println(eval.toMatrixString());
95 // System.out.println("correct " + eval.pctCorrect());
96 // System.out.println("incorrect " + eval.pctIncorrect());
97 // } catch (Exception e) {
98 // // TODO Auto-generated catch block
99 // e.printStackTrace();
100 // }
101
102 /* Wrap Weka classifier in bridge */
103 // Classifier javamlsmo = new WekaClassifier(smo);
104 // /* Initialize cross-validation */
105 // CrossValidation cv = new CrossValidation(javamlsmo);
106 // /* Perform cross-validation */
107 // Map<Object, PerformanceMeasure> pm = cv.crossValidation(data);
108
109 // /* Load a dataset */
110 // Dataset dataForClassification = null;
111 // try {
112 // dataForClassification = FileHandler.loadDataset(new File("/Users/jdamerow/MPIWG/EndangeredSpecies/workspace/de.mpiwg.anteater/training/ApplicantTrainingDataData.data"), 0, ";");
113 // } catch (IOException e) {
114 // // TODO Auto-generated catch block
115 // e.printStackTrace();
116 // return;
117 // }
118 // int correct = 0, wrong = 0;
119 // /* Classify all instances and check with the correct class values */
120 // for (Instance inst : dataForClassification) {
121 // Object predictedClassValue = javamlsmo.classify(inst);
122 // Object realClassValue = inst.classValue();
123 // if (predictedClassValue == realClassValue)
124 // correct++;
125 // else
126 // wrong++;
127 // }
128 //
129
130 // System.out.println("right " + correct);
131 // System.out.println("wrong " + wrong);
132 }
133
134 }