MCPcopy Create free account
hub / github.com/audeering/opensmile / Kernel

Method Kernel

src/classifiers/libsvm/svm.cpp:299–332  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

297};
298
299Kernel::Kernel(int l, svm_node * const * x_, const svm_parameter& param)
300:kernel_type(param.kernel_type), degree(param.degree),
301 gamma(param.gamma), coef0(param.coef0)
302{
303 switch(kernel_type)
304 {
305 case LINEAR:
306 kernel_function = &Kernel::kernel_linear;
307 break;
308 case POLY:
309 kernel_function = &Kernel::kernel_poly;
310 break;
311 case RBF:
312 kernel_function = &Kernel::kernel_rbf;
313 break;
314 case SIGMOID:
315 kernel_function = &Kernel::kernel_sigmoid;
316 break;
317 case PRECOMPUTED:
318 kernel_function = &Kernel::kernel_precomputed;
319 break;
320 }
321
322 clone(x,x_,l);
323
324 if(kernel_type == RBF)
325 {
326 x_square = new double[l];
327 for(int i=0;i<l;i++)
328 x_square[i] = dot(x[i],x[i]);
329 }
330 else
331 x_square = 0;
332}
333
334Kernel::~Kernel()
335{

Callers

nothing calls this directly

Calls 1

cloneFunction · 0.70

Tested by

no test coverage detected