34     struct svm_node* x_space;
 
   49             SG_ERROR(
"Number of training vectors does not match number of " 
   60     x_space=SG_MALLOC(
struct svm_node, 2*
problem.l);
 
   62     for (int32_t i=0; i<
problem.l; i++)
 
   68         x_space[2*i+1].index=-1;
 
   74     param.kernel_type = LINEAR;
 
   87     param.weight_label = NULL;
 
   91     const char* error_msg = svm_check_parameter(&
problem,&
param);
 
  100         if (
model->nr_class!=num_classes)
 
  102             SG_ERROR(
"LibSVM model->nr_class=%d while num_classes=%d\n",
 
  103                     model->nr_class, num_classes);
 
  108         int32_t* offsets=SG_MALLOC(int32_t, num_classes);
 
  111         for (int32_t i=1; i<num_classes; i++)
 
  112             offsets[i] = offsets[i-1]+
model->nSV[i-1];
 
  115         for (int32_t i=0; i<num_classes; i++)
 
  117             for (int32_t j=i+1; j<num_classes; j++)
 
  136                 for (k=0; k<
model->nSV[i]; k++)
 
  138                     SG_DEBUG(
"setting SV[%d] to %d\n", sv_idx,
 
  139                             model->SV[offsets[i]+k]->index);
 
  145                 for (k=0; k<
model->nSV[j]; k++)
 
  147                     SG_DEBUG(
"setting SV[%d] to %d\n", sv_idx,
 
  148                             model->SV[offsets[i]+k]->index);
 
  160                         for (k=0; k<
model->label[i]; k++)
 
  161                             idx+=num_classes-k-1;
 
  163                         for (l=
model->label[i]+1; l<model->label[j]; l++)
 
  168                         for (k=0; k<
model->label[j]; k++)
 
  169                             idx+=num_classes-k-1;
 
  171                         for (l=
model->label[j]+1; l<model->label[i]; l++)
 
  175                 else if (num_classes == 3)
 
  179                 else if (num_classes == 2)
 
  189                 SG_DEBUG(
"svm[%d] has %d sv (total: %d), b=%f " 
  190                         "label:(%d,%d) -> svm[%d]\n",
 
  192                         model->label[j], idx);
 
  208         svm_destroy_model(
model);
 
virtual bool init(CFeatures *lhs, CFeatures *rhs)
virtual ELabelType get_label_type() const =0
multiclass one vs one strategy used to train generic multiclass machines for K-class problems with bu...
The class Labels models labels, i.e. class assignments of objects. 
virtual int32_t get_num_labels() const =0
multi-class labels 0,1,... 
virtual ~CMulticlassLibSVM()
virtual int32_t get_num_vectors() const =0
float64_t m_max_train_time
LIBSVM_SOLVER_TYPE solver_type
Multiclass Labels for multi-class classification. 
void set_objective(float64_t v)
void set_bias(float64_t bias)
CMulticlassStrategy * m_multiclass_strategy
bool set_alpha(int32_t idx, float64_t val)
bool set_support_vector(int32_t idx, int32_t val)
int32_t get_num_classes() const 
all of classes and functions are contained in the shogun namespace 
The class Features is the base class of all feature objects. 
bool create_multiclass_svm(int32_t num_classes)
A generic Support Vector Machine Interface. 
virtual bool train_machine(CFeatures *data=NULL)
bool set_svm(int32_t num, CSVM *svm)
CMulticlassLibSVM(LIBSVM_SOLVER_TYPE st=LIBSVM_C_SVC)