Support Vector Machine(SVM) SVM::crossvalidate

(PECL svm >= 0.1.0)

SVM::crossvalidate — 훈련 데이터의 하위 집합에 대한 훈련 매개변수 테스트


설명

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

Crossvalidate는 훈련 데이터의 하위 집합에 대한 현재 매개변수 집합의 효율성을 테스트하는 데 사용할 수 있습니다. 문제 세트와 n개의 "folds"이 주어지면 문제 세트를 n개의 서브세트로 분리하고 한 서브세트에 대해 반복적으로 훈련하고 다른 서브세트에 대해 테스트합니다. 정확도는 일반적으로 입력 데이터 세트에 대해 훈련된 SVM보다 낮지만 반환된 정확도 점수는 상대적으로 유용해야 다양한 훈련 매개변수를 테스트하는 데 사용할 수 있습니다.


매개변수

problem
문제 데이터입니다. 이것은 배열 형태, SVMLight 형식 파일의 URL 또는 열린 SVMLight 형식 데이터 소스에 대한 스트림일 수 있습니다.
number_of_folds
데이터를 분할하고 교차 테스트해야 하는 집합의 수입니다. 숫자가 높을수록 훈련 세트가 작아지고 신뢰도가 낮아집니다. 5는 시작하기에 좋은 숫자입니다.

반환 값

0-1 사이의 부동 소수점 숫자로 표시되는 올바른 백분율입니다. NU_SVC 또는 EPSILON_SVR 커널의 경우 평균 제곱 오차가 대신 반환됩니다.


기타

  • SVM::train() - 훈련 데이터를 기반으로 SVMModel 만들기