$svm = new SVM();
$cross = $svm->crossvalidate("/svmScaled.data" , 5); // 5 fold cross val
var_dump($cross); //
(PECL svm >= 0.1.0)
SVM::crossvalidate — Test les paramètres d'entraînement sur les sous-jeux de données d’entraînement
Peut être utilisé pour tester l'effectivité du jeu de paramètres courant sur les sous-jeux des données d'entraînement. En fournissant un problème ainsi que n "plis", la fonction séparera le jeu du problème en n sous-jeux, et commence des entraînements successifs sur les sous-jeux. Bien que la précision soit généralement plus faible qu'un SVM entraîné des jeux de données fournies, le score de précision retourné devrait être suffisament utile pour être utilisé pour tester différents paramètres d'entraînement.
problem
Les données du problème. Peut être sous la forme d'un tableau, d'une URL vers un fichier SVMLight, ou d'un flux vers une ressource de données SVMLight ouverte.
number_of_folds
Le nombre de jeux dans lequel les données doivent être divisées et testées. Un nombre élevé signifie que les jeux d'entraînement seront plus petits et moins fiables. 5 est un bon début.
Le pourcentage correct, exprimé sous la forme d'un nombre à virgule flottante dans l'intervalle 0-1. Dans le cas d'un noyau NU_SVC ou EPSILON_SVR, l'erreur quadratique moyenne sera retournée.
$svm = new SVM();
$cross = $svm->crossvalidate("/svmScaled.data" , 5); // 5 fold cross val
var_dump($cross); //