SVM::crossvalidate

(PECL svm >= 0.1.0)

SVM::crossvalidateTest les paramètres d'entraînement sur les sous-jeux de données d’entraînement

Description

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

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.

Liste de paramètres

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.

Valeurs de retour

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.

Voir aussi

  • SVM::train() - Crée un modèle SVMModel suivant les données d'entraînement

add a note add a note

User Contributed Notes 1 note

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