source: trunk/CrossPare/src/de/ugoe/cs/cpdp/eval/ExperimentResult.java @ 140

Last change on this file since 140 was 135, checked in by sherbold, 8 years ago
  • code documentation and formatting
  • Property svn:mime-type set to text/plain
File size: 9.8 KB
Line 
1
2package de.ugoe.cs.cpdp.eval;
3
4/**
5 * <p>
6 * Data class to store experiment results
7 * </p>
8 *
9 * @author Steffen Herbold
10 */
11public class ExperimentResult {
12
13    /**
14     * configuration name of the experiment
15     */
16    private final String configurationName;
17
18    /**
19     * name of the target product
20     */
21    private final String productName;
22
23    /**
24     * name of the classifier used
25     */
26    private final String classifier;
27
28    /**
29     * number of instances of the target product
30     */
31    int sizeTestData;
32
33    /**
34     * number of instances of the training data
35     */
36    int sizeTrainingData;
37
38    /**
39     * error of the prediction
40     */
41    double error = Double.NaN;
42
43    /**
44     * recall of the prediction
45     */
46    double recall = Double.NaN;
47
48    /**
49     * precision of the prediction
50     */
51    double precision = Double.NaN;
52
53    /**
54     * F1 score of the prediction
55     */
56    double fscore = Double.NaN;
57
58    /**
59     * G score of the prediction
60     */
61    double gscore = Double.NaN;
62
63    /**
64     * Matthews correlation coefficient of the prediction
65     */
66    double mcc = Double.NaN;
67
68    /**
69     * Area under the curve of the prediction
70     */
71    double auc = Double.NaN;
72
73    /**
74     * Effort of the prediction
75     */
76    double aucec = Double.NaN;
77
78    /**
79     * True positive rate of the prediction
80     */
81    double tpr = Double.NaN;
82
83    /**
84     * True negative rate of the prediction
85     */
86    double tnr = Double.NaN;
87
88    /**
89     * false positive rate of the prediction
90     */
91    double fpr = Double.NaN;
92
93    /**
94     * false negative rate of the prediction
95     */
96    double fnr = Double.NaN;
97
98    /**
99     * number of true positives
100     */
101    double tp = Double.NaN;
102
103    /**
104     * number of false negatives
105     */
106    double fn = Double.NaN;
107
108    /**
109     * number of true negatives
110     */
111    double tn = Double.NaN;
112
113    /**
114     * number of false positives
115     */
116    double fp = Double.NaN;
117
118    /**
119     * <p>
120     * Constructor. Creates a new ExperimentResult.
121     * </p>
122     *
123     * @param configurationName
124     *            the configuration name
125     * @param productName
126     *            the product name
127     * @param classifier
128     *            the classifier name
129     */
130    public ExperimentResult(String configurationName, String productName, String classifier) {
131        this.configurationName = configurationName;
132        this.productName = productName;
133        this.classifier = classifier;
134    }
135
136    /**
137     * <p>
138     * returns the configuration name
139     * </p>
140     *
141     * @return the configuration name
142     */
143    public String getConfigurationName() {
144        return configurationName;
145    }
146
147    /**
148     * <p>
149     * returns the product name
150     * </p>
151     *
152     * @return the product name
153     */
154    public String getProductName() {
155        return productName;
156    }
157
158    /**
159     * <p>
160     * returns the classifier name
161     * </p>
162     *
163     * @return the classifier name
164     */
165    public String getClassifier() {
166        return classifier;
167    }
168
169    /**
170     * <p>
171     * returns the number of instances of the target product
172     * </p>
173     *
174     * @return number of instances
175     */
176    public int getSizeTestData() {
177        return sizeTestData;
178    }
179
180    /**
181     * <p>
182     * sets the number of instances of the target product
183     * </p>
184     *
185     * @param sizeTestData
186     *            number of instances
187     */
188    public void setSizeTestData(int sizeTestData) {
189        this.sizeTestData = sizeTestData;
190    }
191
192    /**
193     * <p>
194     * returns the number of instances of the training data
195     * </p>
196     *
197     * @return number of instances
198     */
199    public int getSizeTrainingData() {
200        return sizeTrainingData;
201    }
202
203    /**
204     * <p>
205     * sets the number of instances of the training data
206     * </p>
207     *
208     * @param sizeTrainingData
209     *            number of instances
210     */
211    public void setSizeTrainingData(int sizeTrainingData) {
212        this.sizeTrainingData = sizeTrainingData;
213    }
214
215    /**
216     * <p>
217     * returns the error
218     * </p>
219     *
220     * @return the error
221     */
222    public double getError() {
223        return error;
224    }
225
226    /**
227     * <p>
228     * sets the error
229     * </p>
230     *
231     * @param error
232     *            the error
233     */
234    public void setError(double error) {
235        this.error = error;
236    }
237
238    /**
239     * <p>
240     * returns the recall
241     * </p>
242     *
243     * @return the recall
244     */
245    public double getRecall() {
246        return recall;
247    }
248
249    /**
250     * <p>
251     * sets the recall
252     * </p>
253     *
254     * @param recall
255     *            the recall
256     */
257    public void setRecall(double recall) {
258        this.recall = recall;
259    }
260
261    /**
262     * <p>
263     * returns the precision
264     * </p>
265     *
266     * @return the precision
267     */
268    public double getPrecision() {
269        return precision;
270    }
271
272    /**
273     * <p>
274     * sets the precision
275     * </p>
276     *
277     * @param precision
278     *            the precision
279     */
280    public void setPrecision(double precision) {
281        this.precision = precision;
282    }
283
284    /**
285     * <p>
286     * returns the F1 score
287     * </p>
288     *
289     * @return the F1 score
290     */
291    public double getFscore() {
292        return fscore;
293    }
294
295    /**
296     * <p>
297     * sets the F1 score
298     * </p>
299     *
300     * @param fscore
301     *            the F1 score
302     */
303    public void setFscore(double fscore) {
304        this.fscore = fscore;
305    }
306
307    /**
308     * <p>
309     * returns the G score
310     * </p>
311     *
312     * @return the G score
313     */
314    public double getGscore() {
315        return gscore;
316    }
317
318    /**
319     * <p>
320     * sets the G score
321     * </p>
322     *
323     * @param gscore
324     *            the G score
325     */
326    public void setGscore(double gscore) {
327        this.gscore = gscore;
328    }
329
330    /**
331     * <p>
332     * returns the MCC
333     * </p>
334     *
335     * @return the MCC
336     */
337    public double getMcc() {
338        return mcc;
339    }
340
341    /**
342     * <p>
343     * sets the MCC
344     * </p>
345     *
346     * @param mcc
347     *            the MCC
348     */
349    public void setMcc(double mcc) {
350        this.mcc = mcc;
351    }
352
353    /**
354     * <p>
355     * returns the AUC
356     * </p>
357     *
358     * @return the AUC
359     */
360    public double getAuc() {
361        return auc;
362    }
363
364    /**
365     * <p>
366     * sets the AUC
367     * </p>
368     *
369     * @param auc
370     *            the AUC
371     */
372    public void setAuc(double auc) {
373        this.auc = auc;
374    }
375
376    /**
377     * <p>
378     * returns the effort as AUCEC
379     * </p>
380     *
381     * @return the effort
382     */
383    public double getAucec() {
384        return aucec;
385    }
386
387    /**
388     * <p>
389     * sets the effort as AUCEC
390     * </p>
391     *
392     * @param aucec
393     *            the effort
394     */
395    public void setAucec(double aucec) {
396        this.aucec = aucec;
397    }
398
399    /**
400     * <p>
401     * returns the TPR
402     * </p>
403     *
404     * @return the TPR
405     */
406    public double getTpr() {
407        return tpr;
408    }
409
410    /**
411     * <p>
412     * sets the TPR
413     * </p>
414     *
415     * @param tpr
416     *            the TPR
417     */
418    public void setTpr(double tpr) {
419        this.tpr = tpr;
420    }
421
422    /**
423     * <p>
424     * sets the TNR
425     * </p>
426     *
427     * @return the TNR
428     */
429    public double getTnr() {
430        return tnr;
431    }
432
433    /**
434     * <p>
435     * sets the TNR
436     * </p>
437     *
438     * @param tnr
439     *            the TNR
440     */
441    public void setTnr(double tnr) {
442        this.tnr = tnr;
443    }
444
445    /**
446     * <p>
447     * returns the FPR
448     * </p>
449     *
450     * @return the FPR
451     */
452    public double getFpr() {
453        return fpr;
454    }
455
456    /**
457     * <p>
458     * sets the FPR
459     * </p>
460     *
461     * @param fpr
462     *            the FPR
463     */
464    public void setFpr(double fpr) {
465        this.fpr = fpr;
466    }
467
468    /**
469     * <p>
470     * returns the FNR
471     * </p>
472     *
473     * @return the FNR
474     */
475    public double getFnr() {
476        return fnr;
477    }
478
479    /**
480     * <p>
481     * sets the FNR
482     * </p>
483     *
484     * @param fnr
485     *            the FNR
486     */
487    public void setFnr(double fnr) {
488        this.fnr = fnr;
489    }
490
491    /**
492     * <p>
493     * returns the TPs
494     * </p>
495     *
496     * @return the TPs
497     */
498    public double getTp() {
499        return tp;
500    }
501
502    /**
503     * <p>
504     * sets the TPs
505     * </p>
506     *
507     * @param tp
508     *            the TPs
509     */
510    public void setTp(double tp) {
511        this.tp = tp;
512    }
513
514    /**
515     * <p>
516     * returns the FNs
517     * </p>
518     *
519     * @return the FNs
520     */
521    public double getFn() {
522        return fn;
523    }
524
525    /**
526     * <p>
527     * sets the FNs
528     * </p>
529     *
530     * @param fn
531     */
532    public void setFn(double fn) {
533        this.fn = fn;
534    }
535
536    /**
537     * <p>
538     * returns the TNs
539     * </p>
540     *
541     * @return the TNs
542     */
543    public double getTn() {
544        return tn;
545    }
546
547    /**
548     * <p>
549     * sets the TNs
550     * </p>
551     *
552     * @param tn
553     *            the TNs
554     */
555    public void setTn(double tn) {
556        this.tn = tn;
557    }
558
559    /**
560     * <p>
561     * returns the FPs
562     * </p>
563     *
564     * @return the FPs
565     */
566    public double getFp() {
567        return fp;
568    }
569
570    /**
571     * <p>
572     * sets the FPs
573     * </p>
574     *
575     * @param fp
576     *            the FPs
577     */
578    public void setFp(double fp) {
579        this.fp = fp;
580    }
581}
Note: See TracBrowser for help on using the repository browser.