array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'de', ), 'this' => array ( 0 => 'svm.crossvalidate.php', 1 => 'SVM::crossvalidate', 2 => 'Test training params on subsets of the training data', ), 'up' => array ( 0 => 'class.svm.php', 1 => 'SVM', ), 'prev' => array ( 0 => 'svm.construct.php', 1 => 'SVM::__construct', ), 'next' => array ( 0 => 'svm.getoptions.php', 1 => 'SVM::getOptions', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/svm/svm/crossvalidate.xml', ), 'history' => array ( ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); contributors($setup); ?>

SVM::crossvalidate

(PECL svm >= 0.1.0)

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

Beschreibung

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

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.

Parameter-Liste

problem

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.

number_of_folds

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.

Rückgabewerte

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.

Siehe auch