Mercurial > hg > anteater
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 } |