SVM::crossvalidate

(PECL svm >= 0.1.0)

SVM::crossvalidateТестирование обучающих параметров на подмножествах обучающих данных

Описание

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

Перекрёстная проверка может быть использована для проверки эффективности текущего набора параметров для подмножествах обучающих данных. Заданы набор данных по проблеме и количество "свёрток", фактически означающее на сколько подмножеств делить заданный набор, чтобы в цикле обучаться на одном подмножестве и тестироваться на другом. В целом точность будет ниже, чем при обучении на полном наборе данных, но возвращаемая оценка будет полезна для сравнения качества обучения с использованием разных параметров.

Список параметров

problem

Данные по проблеме. Могут быть как массивом, так и ссылкой на файл в формате SVMLight или на поток, предоставляющий источник данных в формате SVMLight.

number_of_folds

Количество подмножеств, на которые будет разделён общих набор обучающих данных. Чем больше это число, тем более короткими и менее надёжными будут обучающие наборы. Хорошее число для начала - 5.

Возвращаемые значения

Процент корректной классификации в виде числа в диапазоне от 0 до 1. В случае ядер NU_SVC и EPSILON_SVR будет возвращена среднеквадратичная ошибка.

Смотрите также

  • SVM::train() - Создать SVMModel на основе обучающих данных

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