26 using namespace shogun;
55 "Tube epsilon for support vector regression.",
MS_AVAILABLE);
93 char char_buffer[1024];
96 int32_t line_number=1;
100 if (fscanf(modelfl,
"%4s\n", char_buffer)==EOF)
103 SG_ERROR(
"error in svm file, line nr:%d\n", line_number)
108 if (strcmp(
"%SVM", char_buffer)!=0)
111 SG_ERROR(
"error in svm file, line nr:%d\n", line_number)
117 if (fscanf(modelfl,
" numsv=%d; \n", &int_buffer) != 1)
120 SG_ERROR(
"error in svm file, line nr:%d\n", line_number)
126 SG_INFO(
"loading %ld support vectors\n",int_buffer)
129 if (fscanf(modelfl,
" kernel='%s'; \n", char_buffer) != 1)
132 SG_ERROR(
"error in svm file, line nr:%d\n", line_number)
140 if (fscanf(modelfl,
" b=%lf; \n", &double_buffer) != 1)
143 SG_ERROR(
"error in svm file, line nr:%d\n", line_number)
151 if (fscanf(modelfl,
"%8s\n", char_buffer) == EOF)
154 SG_ERROR(
"error in svm file, line nr:%d\n", line_number)
159 if (strcmp(
"alphas=[", char_buffer)!=0)
162 SG_ERROR(
"error in svm file, line nr:%d\n", line_number)
172 if (fscanf(modelfl,
" \[%lf,%d]; \n", &double_buffer, &int_buffer) != 2)
175 SG_ERROR(
"error in svm file, line nr:%d\n", line_number)
185 if (fscanf(modelfl,
"%2s", char_buffer) == EOF)
188 SG_ERROR(
"error in svm file, line nr:%d\n", line_number)
193 if (strcmp(
"];", char_buffer)!=0)
196 SG_ERROR(
"error in svm file, line nr:%d\n", line_number)
213 SG_INFO(
"Writing model file...")
214 fprintf(modelfl,
"%%SVM\n");
217 fprintf(modelfl,
"b=%+10.16e;\n",
get_bias());
219 fprintf(modelfl,
"alphas=\[\n");
222 fprintf(modelfl,
"\t[%+10.16e,%d];\n",
225 fprintf(modelfl,
"];\n");
249 for (int32_t i=0; i<n; i++)
254 for (int32_t j=0; j<n; j++)
262 SG_ERROR(
"cannot compute objective, labels or kernel not set\n")
283 for (int32_t i=0; i<n; i++)
286 for (int32_t j=0; j<n; j++)
297 SG_ERROR(
"cannot compute objective, labels or kernel not set\n")
299 return regularizer+loss;
319 SG_ERROR(
"Please assign labels first!\n")
323 if (num_labels != linear_term.
vlen)
325 SG_ERROR(
"Number of labels (%d) does not match number"
326 "of entries (%d) in linear term \n", num_labels, linear_term.
vlen);