Где я могу найти пример использования LibSVM (Java/Python) для выполнения 10-кратной перекрестной проверки набора данных?
Как я могу выполнить десятикратную перекрестную проверку с помощью LibSVM?
Ответы (2)
В случае 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-й параметр функции — количество сгибов, цель — массив предсказанных значений меток для каждой выборки набора данных. Таким образом, длина целевого массива должна совпадать с длиной ваших входных данных.
person
aykut
schedule
14.03.2011
Если я что-то не упустил в вашем вопросе, сценарий svmutil.py
в подкаталоге python
пакета libsvm
предлагает n-кратный режим перекрестной проверки:
-v n: n-fold cross validation mode
Файл svm_train.java
в подкаталоге java
также предлагает такую возможность:
+"-v n : n-fold cross validation mode\n"
Вы можете посмотреть в этих двух файлах пример кода.
person
thkala
schedule
12.03.2011