SHOGUN  3.2.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MultilabelModel.h
Go to the documentation of this file.
1 /*
2  * This software is distributed under BSD 3-clause license (see LICENSE file).
3  *
4  * Copyright (C) 2014 Abinash Panda
5  * Written (W) 2014 Abinash Panda
6  */
7 
8 #ifndef _MULTILABEL_MODEL__H__
9 #define _MULTILABEL_MODEL__H__
10 
11 #include <shogun/lib/config.h>
13 
14 namespace shogun
15 {
16 
22 {
23 public:
26 
32  CMultilabelModel(CFeatures * features, CStructuredLabels * labels);
33 
35  virtual ~CMultilabelModel();
36 
37 
39  virtual CStructuredLabels * structured_labels_factory(int32_t num_labels = 0);
40 
44  virtual int32_t get_dim() const;
45 
55  virtual SGVector<float64_t> get_joint_feature_vector(int32_t feat_idx,
56  CStructuredData * y);
57 
69  virtual CResultSet * argmax(SGVector<float64_t> w, int32_t feat_idx,
70  bool const training = true);
71 
80 
87  virtual void set_misclass_cost(float64_t false_positive,
88  float64_t false_negative);
89 
101  virtual void init_primal_opt(
102  float64_t regularization,
110 
112  virtual const char * get_name() const
113  {
114  return "MultilabelModel";
115  }
116 
117 private:
118  float64_t m_false_positive;
119  float64_t m_false_negative;
120  int32_t m_num_classes;
121 
122 private:
123  void init();
124 
128 
134  SGVector<int32_t> to_sparse(SGVector<float64_t> dense_vector,
135  float64_t d_true, float64_t d_false);
136 
137 }; /* class CMultilabelModel */
138 
139 } /* namespace shogun */
140 
141 #endif /* _MULTILABEL_MODEL__H__ */
142 
143 
144 
Base class of the labels used in Structured Output (SO) problems.
virtual void init_primal_opt(float64_t regularization, SGMatrix< float64_t > &A, SGVector< float64_t > a, SGMatrix< float64_t > B, SGVector< float64_t > &b, SGVector< float64_t > &lb, SGVector< float64_t > &ub, SGMatrix< float64_t > &C)
Class CMultilabelModel represents application specific model and contains application dependent logic...
virtual float64_t delta_loss(CStructuredData *y1, CStructuredData *y2)
virtual SGVector< float64_t > get_joint_feature_vector(int32_t feat_idx, CStructuredData *y)
virtual const char * get_name() const
double float64_t
Definition: common.h:50
virtual int32_t get_dim() const
Class CStructuredModel that represents the application specific model and contains most of the applic...
The class Features is the base class of all feature objects.
Definition: Features.h:68
virtual void set_misclass_cost(float64_t false_positive, float64_t false_negative)
Base class of the components of StructuredLabels.
virtual CResultSet * argmax(SGVector< float64_t > w, int32_t feat_idx, bool const training=true)
virtual CStructuredLabels * structured_labels_factory(int32_t num_labels=0)

SHOGUN Machine Learning Toolbox - Documentation