Back to Adaptive Vision Library website

You are here: Start » Function Reference » Support Vector Machines » SVM_Train

# SVM_Train

Trains SVM model

### Syntax

C++
C#

void avl::SVM_Train
(
const avl::SvmModel& inSvmModel,
const atl::Array<atl::Array<float> >& inVectorArray,
avl::SvmModel& outSvmModel,
float& outTrainingAccuracy
)


### Parameters

Name Type Default Description
inSvmModel const SvmModel& Initialized SVM model
inVectorArray const Array<Array<float> >& Training data vector array
inAnswerArray const Arrayint >& Correct classes for data vectors
outSvmModel SvmModel& Trained model
outTrainingAccuracy float& Accuracy of prediction on training set

### Description

The operation trains an SVM classifier initialized beforehand by SVM_Init function. It takes two arrays as arguments:

• inVectorArray, an array of data points with known classes
• inAnswerArray, an array of classes where the corresponding data points belong

Those two arrays have to be of the same size. Moreover, there have to be at least two classes within the training data set.

The output outSvmModel is an SVM_Model that may be used by SVM_ClassifySingle function.

outTrainingAccuracy is the fraction of correctly classified training data points.

### Errors

List of possible exceptions:

Error type Description
DomainError Data vector cannot be empty in SVM_Train.
DomainError Incompatible array sizes in SVM_Train
DomainError Incompatible vector sizes in SVM_Train.
DomainError Incorrect or uninitialized SvmModel in Svm_Train.
DomainError SM model is already trained in SVM_Train.