資源簡介
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程序
評論
共有 條評論