Вам известны настройки LibSVM?
% libSVM options:
% -s svm_type: set type of SVM (default 0)
% 0 -- C-SVC
% 1 -- nu-SVC
% 2 -- one-class SVM
% 3 -- epsilon-SVR
% 4 -- nu-SVR
% -t kernel_type: set type of kernel function (default 2)
% 0 -- linear: u'*v
% 1 -- polynomial: (gamma*u'*v + coef0)^degree
% 2 -- radial basis function: exp(-gamma*|u-v|^2)
% 3 -- sigmoid: tanh(gamma*u'*v + coef0)
% -d degree: set degree in kernel function (default 3)
% -g gamma: set gamma in kernel function (default 1/num_features)
% -r coef0: set coef0 in kernel function (default 0)
% -c cost: set the parameter C of C-SVC, epsilon-SVR, and nu-SVR (default 1)
% -n nu: set the parameter nu of nu-SVC, one-class SVM, and nu-SVR (default 0.5)
% -p epsilon: set the epsilon in loss function of epsilon-SVR (default 0.1)
% -m cachesize: set cache memory size in MB (default 100)
% -e epsilon: set tolerance of termination criterion (default 0.001)
% -h shrinking: whether to use the shrinking heuristics, 0 or 1 (default 1)
% -b probability_estimates: whether to train a SVC or SVR model for probability estimates, 0 or 1 (default 0)
% -wi weight: set the parameter C of class i to weight*C, for C-SVC (default 1)
Таким образом, ваши настройки -s 0 -t 2 -g 1000 -c 0.1
преобразуются в C -SVM (-s 0
) с ядром Гаусса (-t 2
) с большое масштабирование (-g 1000
) и меньшая, чем стоимость по умолчанию за нарушения (-c 0.1
).
Я предлагаю сначала попробовать его со значениями по умолчанию (-s 0 -t 2
), а затем увеличить стоимость -c
. Ваша гамма выглядит смехотворно большой, но, не зная ваших данных, никто не может судить об этом. Посмотрите на оптимизацию гиперпараметра , которая точно устанавливает эти значения. Существует много работы над этим, но я знаком только с регрессионным анализом. В случае сомнений выполните глобальную оптимизацию этих параметров с помощью gridsearch
или ga
.