• 大小: 41KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-07-14
  • 语言: 其他
  • 标签: svm数据  

资源简介

支持矢量机svm的breast cancer data

资源截图

代码片段和文件信息

%% 第28章 支持向量机的分类——基于乳腺组织电阻抗特性的乳腺癌诊断

该案例作者申明: 1:本人长期驻扎在此板块里,对该案例提问,做到有问必答。 2:此案例有配套的教学视频,视频下载请点击http://www.matlabsky.com/forum-91-1.html。  3:此案例为原创案例,转载请注明出处(《MATLAB智能算法30个案例分析》)。 4:若此案例碰巧与您的研究有关联,我们欢迎您提意见,要求等,我们考虑后可以加在案例里。 5:以下内容为初稿,与实际发行的书籍内容略有出入,请以书籍中的内容为准。


%% 清空环境变量
clear all
clc

%% 导入数据
load BreastTissue_data.mat
% 随机产生训练集和测试集
n = randperm(size(matrix1));
% 训练集——80个样本
train_matrix = matrix(n(1:80):);
train_label = label(n(1:80):);
% 测试集——26个样本
test_matrix = matrix(n(81:end):);
test_label = label(n(81:end):);

%% 数据归一化
[Train_matrixPS] = mapminmax(train_matrix‘);
Train_matrix = Train_matrix‘;
Test_matrix = mapminmax(‘apply‘test_matrix‘PS);
Test_matrix = Test_matrix‘;

%% SVM创建/训练(RBF核函数)

% 寻找最佳c/g参数——交叉验证方法
[cg] = meshgrid(-10:0.2:10-10:0.2:10);
[mn] = size(c);
cg = zeros(mn);
eps = 10^(-4);
v = 5;
bestc = 1;
bestg = 0.1;
bestacc = 0;
for i = 1:m
    for j = 1:n
        cmd = [‘-v ‘num2str(v)‘ -t 2‘‘ -c ‘num2str(2^c(ij))‘ -g ‘num2str(2^g(ij))];
        cg(ij) = svmtrain(train_labelTrain_matrixcmd);     
        if cg(ij) > bestacc
            bestacc = cg(ij);
            bestc = 2^c(ij);
            bestg = 2^g(ij);
        end        
        if abs( cg(ij)-bestacc )<=eps && bestc > 2^c(ij) 
            bestacc = cg(ij);
            bestc = 2^c(ij);
            bestg = 2^g(ij);
        end               
    end
end
cmd = [‘ -t 2‘‘ -c ‘num2str(bestc)‘ -g ‘num2str(bestg)];
% 创建/训练SVM模型
model = svmtrain(train_labelTrain_matrixcmd);

%% SVM仿真测试
[predict_label_1accuracy_1] = svmpredict(train_labelTrain_matrixmodel);
[predict_label_2accuracy_2] = svmpredict(test_labelTest_matrixmodel);
result_1 = [train_label predict_label_1];
result_2 = [test_label predict_label_2];

%% 绘图
figure
plot(1:length(test_label)test_label‘r-*‘)
hold on
plot(1:length(test_label)predict_label_2‘b:o‘)
grid on
legend(‘真实类别‘‘预测类别‘)
xlabel(‘测试集样本编号‘)
ylabel(‘测试集样本类别‘)
string = {‘测试集SVM预测结果对比(RBF核函数)‘;
          [‘accuracy = ‘ num2str(accuracy_2(1)) ‘%‘]};
title(string)

%%

相关论坛:

Matlab技术论坛:www.matlabs

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       6802  2010-11-03 21:23  chapter28\BreastTissue_data.mat

     文件       3487  2011-08-23 08:30  chapter28\main.m

     目录          0  2011-08-23 08:31  chapter28

     文件      59904  2013-08-16 09:31  支持向量机的分类.doc

----------- ---------  ---------- -----  ----

                70193                    4


评论

共有 条评论