PHP Conference Japan 2024

SVM::crossvalidate

(PECL svm >= 0.1.0)

SVM::crossvalidate在训练数据的子集上测试训练参数

描述

public svm::crossvalidate(数组 $problem, 整数 $number_of_folds): 浮点数

Crossvalidate 可用于测试当前参数集在训练数据子集上的有效性。给定一个问题集和 n 个“folds”,它将问题集分成 n 个子集,然后重复地在其中一个子集上进行训练,在另一个子集上进行测试。虽然准确率通常低于在整个数据集上训练的 SVM,但返回的准确率分数应该相对有用,因此它可以用于测试不同的训练参数。

参数

problem

问题数据。这可以是数组的形式、SVMLight 格式文件的 URL 或指向已打开的 SVMLight 格式数据源的流。

number_of_folds

数据应划分成并进行交叉测试的集合数。数字越高,训练集越小,可靠性越低。5 是一个不错的起始数字。

返回值

正确的百分比,表示为 0-1 之间的浮点数。对于 NU_SVC 或 EPSILON_SVR 内核,将返回均方误差。

参见

添加注释

用户贡献的注释 1 条注释

kadirerturk at gmail dot com
10 年前
$svm = new SVM();
$cross = $svm->crossvalidate("/svmScaled.data" , 5); // 5 折交叉验证
var_dump($cross); //
To Top