У меня есть массив значений C размером 1x8 (называемый 'C') и массив значений гаммы 1x6 (называемый 'gamma'), для которого я хотел бы найти лучшую пару комбинаций, которая дает наилучшую точность дляМодель обучения SVM, которую я внедряю в Matlab.Я пытаюсь перебрать все возможные комбинации C и гамма, используя два вложенных цикла for следующим образом.Однако в коде что-то не так, потому что я получаю очень низкие оценки точности (только около 9%).Есть какие-нибудь предложения о том, как это исправить?
Для справки, я просмотрел страницу часто задаваемых вопросов LIBSVM (https://www.csie.ntu.edu.tw/~cjlin/libsvm/faq.html#f803) и нашел пример кода, на котором основан мой код.
Спасибо!
for i=1:8
for j=1:6
cmd = ['-t 2 -c ', num2str(C(i)), ' -g ', num2str(gamma(j)), ' -v 2'];
model = svmtrain(LabelTrain, dataTrain', cmd);
[predicted_label, accuracy, decision_values] = svmpredict(labelTest, dataTest', model);
if model > prevModel
bestC = C(i);
bestGamma = gamma(j);
prevModel = model;
end
end
end