设置SVM的多项式次数

时间:2016-01-08 05:27:55

标签: matlab svm libsvm polynomials

我正在Matlab中训练SVM,并希望将内核设置为度数为2的多项式。

如何编写代码来实现此目的?

%# train one-against-all models
model = cell(numLabels,1);
for k=1:numLabels
    model{k} = svmtrain(double(trainLabel==k), trainData, '-s 0 -t 1 -d 2 -g 1 -b 1 ');
end

%# get probability estimates of test instances using each model
prob = zeros(numTest,numLabels);
for k=1:numLabels
    [~,~,p] = svmpredict(double(testLabel==k), testData, model{k}, '-b 1');
    prob(:,k) = p(:,model{k}.Label==1);    %# probability of class==k
end

%# predict the class with the highest probability
[~,pred] = max(prob,[],2);
acc = sum(pred == testLabel) ./ numel(testLabel) %# accuracy
C = confusionmat(testLabel, pred);               %# confusion matrix

0 个答案:

没有答案