Как выполнить перекрестную проверку kFold в предварительно вычисленном ядре Libsvm в MATLAB? - DataScientist
1 голос
/ 28 сентября 2018

Я понимаю, что Libsvm предоставляет опцию 'v 10' для 10 -кратной перекрестной проверки в классификации SVM. Вот строка кода MATLAB:

model = svmtrain(TrainLabels, K, '-t 4', 'v 10');

Однако, это дает пустую модель. Как это сделать?

1 Ответ

1 голос
/ 28 сентября 2018
Функция

svmtrain в Libsvm объединяет параметры в одну строку. Например, в вашем случае ваша строка должна быть '-t 4 -v 10'. Не разделены как два параметра. Если ваша матрица ядра правильно отформатирована, у вас не должно возникнуть проблем. И имейте в виду, что при любом нарушении типа использования библиотека возвращает пустую модель; и на консоли должно быть предупреждение, указывающее на проблему. Последнее предупреждение: пожалуйста, убедитесь, что ваша текущая версия библиотеки поддерживает тип 4 svm, то есть '-t 4'.

...