SHOGUN  v3.0.1
 全部  命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义  
LabelsFactory.cpp
浏览该文件的文档.
2 
9 
10 using namespace shogun;
11 
13 {
14  ASSERT(base_labels != NULL)
15  if (base_labels->get_label_type() == LT_BINARY)
16  return static_cast<CBinaryLabels*>(base_labels);
17  else
18  SG_SERROR("base_labels must be of dynamic type CBinaryLabels")
19 
20  return NULL;
21 }
22 
24 {
25  ASSERT(base_labels != NULL)
26  if (base_labels->get_label_type() == LT_LATENT)
27  return static_cast<CLatentLabels*>(base_labels);
28  else
29  SG_SERROR("base_labels must be of dynamic type CLatentLabels\n")
30 
31  return NULL;
32 }
33 
35 {
36  ASSERT(base_labels != NULL)
37  if (base_labels->get_label_type() == LT_MULTICLASS)
38  return static_cast<CMulticlassLabels*>(base_labels);
39  else
40  SG_SERROR("base_labels must be of dynamic type CMulticlassLabels\n")
41 
42  return NULL;
43 }
44 
46 {
47  ASSERT(base_labels != NULL)
48  if (base_labels->get_label_type() == LT_REGRESSION)
49  return static_cast<CRegressionLabels*>(base_labels);
50  else
51  SG_SERROR("base_labels must be of dynamic type CRegressionLabels")
52 
53  return NULL;
54 }
55 
57 {
58  ASSERT(base_labels != NULL)
59  if (base_labels->get_label_type() == LT_STRUCTURED)
60  return static_cast<CStructuredLabels*>(base_labels);
61  else
62  SG_SERROR("base_labels must be of dynamic type CStructuredLabels\n")
63 
64  return NULL;
65 }
66 
67 
69 {
70  ASSERT(base_labels != NULL)
71  if (base_labels->get_label_type() == LT_MULTICLASS_MULTIPLE_OUTPUT)
72  return static_cast<CMulticlassMultipleOutputLabels*>(base_labels);
73  else
74  SG_SERROR("base_labels must be of dynamic type CMulticlassMultipleOutputLabels\n")
75 
76  return NULL;
77 }
static CRegressionLabels * to_regression(CLabels *base_labels)
Base class of the labels used in Structured Output (SO) problems.
virtual ELabelType get_label_type() const =0
binary labels +1/-1
Definition: LabelTypes.h:14
Real Labels are real-valued labels.
The class Labels models labels, i.e. class assignments of objects.
Definition: Labels.h:35
real valued labels (e.g. for regression, classifier outputs)
Definition: LabelTypes.h:18
multi-class labels 0,1,...
Definition: LabelTypes.h:16
structured labels (e.g. sequences, trees) used in Structured Output problems
Definition: LabelTypes.h:20
Multiclass Labels for multi-class classification with multiple labels.
multiple output multiclass
Definition: LabelTypes.h:24
Multiclass Labels for multi-class classification.
latent latent labels
Definition: LabelTypes.h:22
static CBinaryLabels * to_binary(CLabels *base_labels)
#define ASSERT(x)
Definition: SGIO.h:203
static CMulticlassMultipleOutputLabels * to_multiclass_multiple_output(CLabels *base_labels)
#define SG_SERROR(...)
Definition: SGIO.h:181
Binary Labels for binary classification.
Definition: BinaryLabels.h:36
static CStructuredLabels * to_structured(CLabels *base_labels)
static CLatentLabels * to_latent(CLabels *base_labels)
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:24
static CMulticlassLabels * to_multiclass(CLabels *base_labels)

SHOGUN Machine Learning Toolbox - Documentation