12 #ifndef _WEIGHTEDDEGREESTRINGKERNEL_H___
13 #define _WEIGHTEDDEGREESTRINGKERNEL_H___
122 return "WeightedDegreeStringKernel";
133 int32_t count, int32_t *IDX,
float64_t* alphas)
149 int32_t count, int32_t *IDX,
float64_t* alphas, int32_t tree_num);
167 SG_ERROR(
"CWeightedDegreeStringKernel optimization not initialized\n");
188 int32_t num_vec, int32_t* vec_idx,
float64_t* target,
189 int32_t num_suppvec, int32_t* IDX,
float64_t* alphas,
248 int32_t idx,
float64_t * subkernel_contrib)
261 SG_ERROR(
"CWeightedDegreeStringKernel optimization not initialized\n");
278 for (int32_t i=0; i<num_weights; i++)
281 for (int32_t i=0; i<num_weights; i++)
284 for (int32_t i=0; i<num_weights; i++)
297 int32_t num_weights2=w.
vlen;
299 if (num_weights!=num_weights2)
300 SG_ERROR(
"number of weights do not match\n");
304 for (int32_t i=0; i<num_weights; i++)
308 for (int32_t i=0; i<num_weights; i++)
319 for (int32_t i=0; i<num_weights; i++)
324 weights[i*mkl_stepsize+j] = weights2[i];
330 for (int32_t i=0; i<num_weights; i++)
335 weights[i*mkl_stepsize+j] = weights2[i];
347 if (normalizer_ && strcmp(normalizer_->
get_name(),
"MultitaskKernelTreeNormalizer")==0) {
415 num_weights = degree*
length ;
543 inline bool set_degree(int32_t deg) { degree=deg;
return true; }
576 SG_ERROR(
"Stepsize must be a positive integer\n");
622 int32_t idx,
float64_t weight, int32_t tree_num);
638 int32_t idx,
float64_t weight, int32_t tree_num);
666 char* avec, int32_t alen,
char* bvec, int32_t blen);
677 char* avec, int32_t alen,
char* bvec, int32_t blen);
688 char* avec, int32_t alen,
char* bvec, int32_t blen);
699 char* bvec, int32_t blen);