SHOGUN  3.2.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups 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__ */

SHOGUN Machine Learning Toolbox - Documentation