SHOGUN  4.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
StructuredAccuracy.h
Go to the documentation of this file.
1 /*
2  * This program is free software; you can redistribute it and/or modify
3  * it under the terms of the GNU General Public License as published by
4  * the Free Software Foundation; either version 3 of the License, or
5  * (at your option) any later version.
6  *
7  * Written(W) 2013 Abinash Panda
8  * Written (W) 2012 Fernando José Iglesias García
9  * Copyright (C) 2012 Fernando José Iglesias García
10  */
11 
12 #ifndef __STRUCTURED_ACCURACY_H__
13 #define __STRUCTURED_ACCURACY_H__
14 
15 #include <shogun/lib/config.h>
16 
19 
20 namespace shogun
21 {
22 
27 {
28 public:
31 
33  virtual ~CStructuredAccuracy();
34 
42  virtual float64_t evaluate(CLabels * predicted, CLabels * ground_truth);
43 
52  static SGMatrix<int32_t> get_confusion_matrix(CLabels * predicted, CLabels * ground_truth);
53 
59  {
60  return ED_MAXIMIZE;
61  }
62 
64  virtual const char * get_name() const
65  {
66  return "StructuredAccuracy";
67  }
68 
69 private:
77  float64_t evaluate_real(CStructuredLabels * predicted, CStructuredLabels * ground_truth);
78 
86  float64_t evaluate_sequence(CStructuredLabels * predicted, CStructuredLabels * ground_truth);
87 
101  float64_t evaluate_sparse_multilabel(CStructuredLabels * predicted,
102  CStructuredLabels * ground_truth);
103 
104 }; /* class CStructuredAccuracy*/
105 
106 } /* namespace shogun */
107 
108 #endif /* __STRUCTURED_ACCURACY_H__ */
Base class of the labels used in Structured Output (SO) problems.
virtual float64_t evaluate(CLabels *predicted, CLabels *ground_truth)
The class Labels models labels, i.e. class assignments of objects.
Definition: Labels.h:43
EEvaluationDirection get_evaluation_direction() const
EEvaluationDirection
Definition: Evaluation.h:29
double float64_t
Definition: common.h:50
virtual const char * get_name() const
static SGMatrix< int32_t > get_confusion_matrix(CLabels *predicted, CLabels *ground_truth)
all of classes and functions are contained in the shogun namespace
Definition: class_list.h:18
class CStructuredAccuracy used to compute accuracy of structured classification
Class Evaluation, a base class for other classes used to evaluate labels, e.g. accuracy of classifica...
Definition: Evaluation.h:40

SHOGUN Machine Learning Toolbox - Documentation