SHOGUN  3.2.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
LabelsFactory.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 Evgeniy Andreev (gsomix)
8  */
9 
10 #ifndef _LABELS_FACTORY__H__
11 #define _LABELS_FACTORY__H__
12 
13 #include <shogun/lib/config.h>
14 
15 #include <shogun/base/SGObject.h>
16 
17 namespace shogun
18 {
19  class SGObject;
20  class CLabels;
21  class CBinaryLabels;
22  class CLatentLabels;
23  class CMulticlassLabels;
24  class CRegressionLabels;
25  class CStructuredLabels;
26  class CMultilabelLabels;
27  class CMulticlassSOLabels;
28 
31 class CLabelsFactory : public CSGObject
32 {
33 public:
38  static CBinaryLabels* to_binary(CLabels* base_labels);
39 
44  static CLatentLabels* to_latent(CLabels* base_labels);
45 
50  static CMulticlassLabels* to_multiclass(CLabels* base_labels);
51 
56  static CRegressionLabels* to_regression(CLabels* base_labels);
57 
62  static CStructuredLabels* to_structured(CLabels* base_labels);
63 
68  static CMultilabelLabels* to_multilabel_output(CLabels* base_labels);
69 
75 
77  virtual const char* get_name() const { return "LabelsFactory"; }
78 };
79 
80 }
81 
82 #endif /* _LABELS_FACTORY__H__ */

SHOGUN Machine Learning Toolbox - Documentation