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

📄 cushing_svm.m

📁 支持向量机
💻 M
字号:
%============================
%使用SVM实现三类模式识别
%============================
clear;
clc;
load train.data;
train_data=train(:,1:2);% 全部训练样本集合
expected_output=[-1;-1;-1;-1;-1;-1;1;1;1;1;1;1;1;1;1;1;-1;-1;-1;-1;-1]; % 先分成ac和b两类时的全部期望输出
train_data_partly=[];
temp1=train_data(1:6,:);
temp2=train_data(17:21,:);
train_data_partly=[temp1;temp2];% 部分训练样本集合,a类和c类样本集合
expected_output_partly=[-1;-1;-1;-1;-1;-1;1;1;1;1;1];% 部分期望输出,a类和c类样本的期望输出集合

ker='rbf';
C=100.0;
X=train_data;
Y=expected_output;
[nsv alpha bias]=svc(X,Y,ker,C);
alpha1=alpha;
X=train_data_partly;
Y=expected_output_partly;
[nsv alpha bias]=svc(X,Y,ker,C);
alpha2=alpha;

load test.data
test_data=test;% 测试样本集
       
clc;
% 测试识别输出
fprintf('测试样本的识别结果为: \n');
for i=1:6
    X=train_data;
    Y=expected_output;
    Z=test_data(i,:);
    predictedY = svcoutput(X,Y,Z,ker,alpha1,bias,0);
    if  (predictedY==1)
        fprintf(' b \n');
    else
        X=train_data_partly;
        Y=expected_output_partly;
        predictedY = svcoutput(X,Y,Z,ker,alpha2,bias,0);
        if (predictedY==1)
           fprintf( ' c \n');
        else
           fprintf(' a \n');
        end
   end
end

    

⌨️ 快捷键说明

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