⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adassvm.m

📁 自己用libsvm封的svm matlab
💻 M
字号:
function [predictLabel, answer, arratetrain, orsample, rorname, arrate, errorsample, errorname] = adassvm(datatrain, traintag, datatest, testtag)

testornot = 2;

if (length(datatest) == 0)
    testornot = 0;
elseif (length(testtag) == 0)
    testornot = 1;
end

model = svmtrain(traintag, datatrain, '-t 0 -c 100');
[predictLabel, arr] = svmpredict(traintag, datatrain, model);

trainNumber = length(predictLabel);
traincorrect = zeros(1, trainNumber);
for i = 1 : trainNumber
    if (predictLabel(i) == traintag(i))
        traincorrect(i) = 1;
    end
end

arratetrain = length(find(traincorrect == 1)) / trainNumber;
orsample = find(traincorrect == 0);
rorname = predictLabel(orsample);

if (testornot == 2)
    [answer, arranswer] = svmpredict(testtag, datatest, model);
    sampleNumber = length(answer);
    correct = zeros(1, sampleNumber);
    for i = 1 : sampleNumber
        if (answer(i) == testtag(i))
            correct(i) = 1;
        end
    end

    arrate = length(find(correct == 1)) / sampleNumber;
    errorsample = find(correct == 0);
    errorname = answer(errorsample);    
elseif (testornot == 1)
    testtag = zeros(size(datatest, 1), 1);
    [answer, arranswer] = svmpredict(testtag, datatest, model);
    arrate = -1;
    errorsample = [];
    errorname = {};
else
    answer = [];
    arrate = -1;
    errorsample = [];
    errorname = {};
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -