资源简介
matlab使用libsvm进行分类代码实例.rar
代码片段和文件信息
%% I. 清空环境变量
clear all
clc
%% II. 导入数据
load BreastTissue_data.mat
%%
% 1. 随机产生训练集和测试集
n = randperm(size(matrix1));
%%
% 2. 训练集——80个样本
train_matrix = matrix(n(1:80):);
train_label = label(n(1:80):);
%%
% 3. 测试集——26个样本
test_matrix = matrix(n(81:end):);
test_label = label(n(81:end):);
%% III. 数据归一化
[Train_matrixPS] = mapminmax(train_matrix‘);
Train_matrix = Train_matrix‘;
Test_matrix = mapminmax(‘apply‘test_matrix‘PS);
Test_matrix = Test_matrix‘;
%% IV. SVM创建/训练(RBF核函数)
%%
% 1. 寻找最佳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)];
%%
% 2. 创建/训练SVM模型
model = svmtrain(train_labelTrain_matrixcmd);
%% V. SVM仿真测试
[predict_label_1accuracy_1prob_estimates] = svmpredict(train_labelTrain_matrixmodel);
[predict_label_2accuracy_2prob_estimates2] = svmpredict(test_labelTest_matrixmodel);
result_1 = [train_label predict_label_1];
result_2 = [test_label predict_label_2];
%% VI. 绘图
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)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 6802 2010-11-03 21:23 svm分类\BreastTissue_data.mat
文件 2038 2019-03-24 09:52 svm分类\main.m
目录 0 2019-03-28 23:35 svm分类
----------- --------- ---------- ----- ----
8840 3
- 上一篇:多目标粒子群算法matlab
- 下一篇:OSTU多阈值分割MATLAB程序
相关资源
- 高频单调谐回路放大器.ms11
- 无刷直流电机MATLAB模型.rar
- 基于MATLAB的质点弹道计算与外弹道优
- yw5bth.m
- s_niblack3.m
- matlab2014中文.txt
- zw_matlab形成节点导纳矩阵的程序.zip
- zw_MATLAB实现图像去噪滤波锐化边缘检
- 分支定界法Matlab程序实现与验证.pdf
- arithintdecod.m
- finsh-2677.m3u8
- SMO_matlabfunction.rar
- dianliuzhihuan.mdl
- main.m
- zw_三相电压型逆变器电压闭环控制s
- BTT导弹六自由度仿真实验-MATLAB源代码
- single_phase_connect_net_I_closecontrol.mdl
- BPSK调制.ms11
- MATLAB-车牌识别代码打包.zip
- 电路2.ms10
- shiyan.m
- delete.mobileconfig
- zw_xmt1139057136-11123181-虚拟同步发电机孤
- zw_williamanos-10456712-《MATLAB优化算法张
- zw_u201113636-7467879-MATLAB实现.zip
- zw_u010985925-8365901-自适应波束形成与
- 103a02c0a4ba21f55ad3637f8ea23da4.md
- 基于matlab仿真的ofdm系统基带信号在多
- 基于MATLABhough变换的表盘刻度识别系统
- QRMA.m
评论
共有 条评论