CakeFest 2017 NYC, the Official CakePHP Conference


(PECL svm >= 0.1.0)

SVM::crossvalidateTest training params on subsets of the training data.


public float svm::crossvalidate ( array $problem , int $number_of_folds )

Crossvalidate can be used to test the effectiveness of the current parameter set on a subset of the training data. Given a problem set and a n "folds", it separates the problem set into n subsets, and the repeatedly trains on one subset and tests on another. While the accuracy will generally be lower than a SVM trained on the enter data set, the accuracy score returned should be relatively useful, so it can be used to test different training parameters.



The problem data. This can either be in the form of an array, the URL of an SVMLight formatted file, or a stream to an opened SVMLight formatted datasource.


The number of sets the data should be divided into and cross tested. A higher number means smaller training sets and less reliability. 5 is a good number to start with.

Valorile întoarse

The correct percentage, expressed as a floating point number from 0-1. In the case of NU_SVC or EPSILON_SVR kernels the mean squared error will returned instead.

A se vedea și

add a note add a note

User Contributed Notes 1 note

kadirerturk at gmail dot com
2 years ago
$svm = new SVM();
$cross = $svm->crossvalidate("/" , 5); // 5 fold cross val
var_dump($cross); //
To Top