Back to Adaptive Vision Library website

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

# SVM_Train

Header: | AVL.h |
---|---|

Namespace: | avl |

Module: | FoundationPro |

Trains SVM model

### Syntax

C++

C#

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 )

### Parameters

Name | Type | Default | Description | |
---|---|---|---|---|

inSvmModel | const SvmModel& | Initialized SVM model | ||

inVectorArray | const Array<Array<float> >& | Training data vector array | ||

inAnswerArray | const Array< int >& | 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. |

### See Also

- SVM_Init – Initializes SVM model

- SVM_ClassifySingle – Classifies input features based on a trained model