PHP Conference Japan 2024

SVM::crossvalidate

(PECL svm >= 0.1.0)

SVM::crossvalidate在訓練資料的子集上測試訓練參數

說明

public svm::crossvalidate(陣列 $problem, 整數 $number_of_folds): 浮點數

交叉驗證可用於測試目前參數集在訓練資料子集上的有效性。給定一個問題集和 n 個「摺疊」,它將問題集分成 n 個子集,然後重複在一個子集上訓練並在另一個子集上測試。雖然準確度通常會低於在整個資料集上訓練的 SVM,但返回的準確度分數應該相對有用,因此它可以用於測試不同的訓練參數。

參數

problem(問題集)

問題數據。可以是陣列形式、SVMLight 格式檔案的 URL,或是已開啟 SVMLight 格式資料來源的串流。

摺疊數 (number_of_folds)

數據應分割及交叉測試的組數。數字越高表示訓練集越小,可靠性越低。 5 是一個不錯的起始值。

回傳值

正確百分比,以 0-1 之間的浮點數表示。如果是 NU_SVC 或 EPSILON_SVR 核心,則會改為返回均方誤差。

另請參閱

新增註記

使用者貢獻的註記 1 則註記

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