📄 svm_vc.m
字号:
% Learns classifier and classifies test set% using Support Vector Machines.% The actual SVM Code is GNU code (see SVMReadme.txt)%%% If there are 2 classes, there is no problem (except that the labels are% converted to 0 and 1).% If there are more than 2 classes, pairwise classification is made,% followed by majority vote.% % Inputs:% Usage% [trainError, testError, estTrainLabels, estTestLabels] = ...% SVM_VC(trainFeatures, trainLabels,algParam ,testFeatures, testLabels)% where%% Inputs:% trainFeatures - the training set vectors, one vector per column% trainLabels - the labels of the above% algParam - algorithm parameters:% kernel + kernelparameters% 'linear' unused number% 'poly' polynomial order% 'rbf' scale factor% % testFeatures - test set, one column per vector% testLabels - labels for test set%% Outputs% trainError - the error rate on the training set (one entry per% class + total error)% testError - the error rate on the test set (one entry per class% + total error)function [trainError, testError] = ... SVM_VC(trainFeatures, trainLabels,algoParams,testFeatures, testLabels)[Nclasses, classes] = find_classes([trainLabels(:);testLabels(:)]); % Number of classes in labelsif (Nclasses > 2) [trainError, testError] = classifierWrapper(trainFeatures, trainLabels, ... 'SVM_VCcore', algoParams, testFeatures, testLabels);else ind0tr = find(trainLabels == min(classes)); ind0te = find(testLabels == min(classes)); ind1tr = find(trainLabels == max(classes)); ind1te = find(testLabels == max(classes)); trainLabels(ind0tr) = -1; trainLabels(ind1tr) = 1; testLabels(ind0te) = -1; testLabels(ind1te) = 1; [trainError, testError] = ... SVM_VCcore(trainFeatures, trainLabels, algoParams, testFeatures, testLabels);endtrainError = reshape(trainError,length(trainError),1);testError = reshape(testError, length(testError),1);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -