Перекрестная проверка в libsvm - PullRequest
2 голосов
/ 05 марта 2011

Я использую библиотеку libsvm в своем проекте и недавно обнаружил, что она обеспечивает перекрестную проверку из коробки. Я проверяю документацию, и она ясно говорит, что я должен вызвать svm-train с ключом -n для использования функции CV , Когда я вызываю его с ключом -v, я не могу получить файл модели, который нужен для svm -вести на.

Внедрение машины опорных векторов с нуля выходит за рамки моего проекта, поэтому я бы лучше починил этот, если он сломался, или обратился к сообществу за поддержкой.

Кто-нибудь может помочь с этим?

Вот ссылка на библиотеку , реализованная на C и C ++, а вот статья, в которой описано, как ее использовать .

Ответы [ 2 ]

3 голосов
/ 05 марта 2011

Потому что libsvm использует cv только для выбора параметров.

Из libsvm FAQ:

В: Почему после перекрестной проверки не выводится файл модели? Перекрестная проверка используется для выбора хороших параметров. Найдя их, вы хотите переобучить все данные без опции -v.

Если вы собираетесь использовать cv для оценки качества классификатора в ваших данных, вам следует осуществить внешнюю перекрестную проверку путем разделения данных, обучения одной части и проверки другой.

1 голос
/ 05 марта 2011

Прошло много времени с тех пор, как я использовал libsvm, поэтому я не думаю, что у меня есть ответ, который вы ищете, но если вы запускаете перекрестную проверку и удовлетворены результатами, запускаете lib-svm с теми же параметрами без-v даст ту же модель.

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