0
|
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 }
|