Как я могу выполнить десятикратную перекрестную проверку с помощью LibSVM? - PullRequest
1 голос
/ 12 марта 2011

Где найти пример использования LibSVM (Java / Python) для выполнения 10-кратной перекрестной проверки набора данных?

Ответы [ 2 ]

5 голосов
/ 14 марта 2011

В случае Java;

Вы можете использовать метод svm_cross_validation (), который предоставляется libsvm.

double[] target = new double[svmProblem.l];
svm.svm_cross_validation(svmProblem, svmParameter, 10, target );

Вы должны были создать ваши экземпляры svm_problem и svm_parameter (svmProblem и svmParameter в примере). 3-й параметр функции - количество сгибов, цель - массив предсказанных значений меток для каждой выборки набора данных. Таким образом, длина целевого массива должна совпадать с длиной ваших входных данных.

0 голосов
/ 12 марта 2011

Если в вашем вопросе не пропущено что-то, сценарий svmutil.py в подкаталоге python пакета libsvm предлагает n-кратный режим перекрестной проверки:

-v n: n-fold cross validation mode

svm_train.java file в подкаталоге java также предлагает такую ​​опцию:

+"-v n : n-fold cross validation mode\n"

Вы можете взглянуть на эти два файла для некоторого примера кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...