MCPcopy Create free account
hub / github.com/PointCloudLibrary/pcl / Kernel

Method Kernel

ml/src/svm.cpp:379–418  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

377};
378
379Kernel::Kernel(int l, svm_node* const* x_, const svm_parameter& param)
380: kernel_type(param.kernel_type)
381, degree(param.degree)
382, gamma(param.gamma)
383, coef0(param.coef0)
384{
385 switch (kernel_type) {
386
387 case LINEAR:
388 kernel_function = &Kernel::kernel_linear;
389 break;
390
391 case POLY:
392 kernel_function = &Kernel::kernel_poly;
393 break;
394
395 case RBF:
396 kernel_function = &Kernel::kernel_rbf;
397 break;
398
399 case SIGMOID:
400 kernel_function = &Kernel::kernel_sigmoid;
401 break;
402
403 case PRECOMPUTED:
404 kernel_function = &Kernel::kernel_precomputed;
405 break;
406 }
407
408 clone(x, x_, l);
409
410 if (kernel_type == RBF) {
411 x_square = new double[l];
412
413 for (int i = 0; i < l; i++)
414 x_square[i] = dot(x[i], x[i]);
415 }
416 else
417 x_square = nullptr;
418}
419
420Kernel::~Kernel()
421{

Callers

nothing calls this directly

Calls 2

cloneFunction · 0.85
dotFunction · 0.50

Tested by

no test coverage detected