SHOGUN  4.2.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules 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__ */
static CRegressionLabels * to_regression(CLabels *base_labels)
Base class of the labels used in Structured Output (SO) problems.
Real Labels are real-valued labels.
The class Labels models labels, i.e. class assignments of objects.
Definition: Labels.h:43
virtual const char * get_name() const
Definition: LabelsFactory.h:77
static CMultilabelLabels * to_multilabel_output(CLabels *base_labels)
Multiclass Labels for multi-class classification.
static CBinaryLabels * to_binary(CLabels *base_labels)
The helper class to specialize base class instances of labels.
Definition: LabelsFactory.h:31
Class SGObject is the base class of all shogun objects.
Definition: SGObject.h:115
static CMulticlassSOLabels * to_multiclass_structured(CLabels *base_labels)
all of classes and functions are contained in the shogun namespace
Definition: class_list.h:18
Binary Labels for binary classification.
Definition: BinaryLabels.h:37
static CStructuredLabels * to_structured(CLabels *base_labels)
static CLatentLabels * to_latent(CLabels *base_labels)
Multilabel Labels for multi-label classification.
abstract class for latent labels As latent labels always depends on the given application, this class only defines the API that the user has to implement for latent labels.
Definition: LatentLabels.h:26
Class CMulticlassSOLabels to be used in the application of Structured Output (SO) learning to multicl...
static CMulticlassLabels * to_multiclass(CLabels *base_labels)

SHOGUN Machine Learning Toolbox - Documentation