Прекрасный пакет libsvm предоставляет интерфейс Python и файл «easy.py», который автоматически ищет параметры обучения (cost & gamma), которые максимизируют точность классификатора. В заданном наборе параметров обучения кандидата точность реализуется путем перекрестной проверки, но я чувствую, что это подрывает цель перекрестной проверки. То есть, поскольку сами параметры обучения могут быть выбраны способом, который может привести к перегрузке данных, я считаю, что более подходящим подходом было бы применение перекрестной проверки на уровне самого поиска: выполнить поиск на тренировочном наборе данных, а затем оцените предельную точность SVM, полученную в результате окончательно выбранных параметров обучения, путем оценки в отдельном наборе данных тестирования. Или я что-то здесь упускаю?
источник
Я не думаю, что перекрестная проверка неправильно используется в случае LIBSVM, потому что это делается на уровне данных тестирования. Все, что он делает - это k-кратная перекрестная проверка и поиск лучшего параметра для ядра RBF. Дайте мне знать, что вы не согласны.
источник