Back to Adaptive Vision Library website

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


Header: AVL.h
Namespace: avl
Module: FoundationPro

Trains SVM model


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


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


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.


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.

See Also