91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 6KB
    文件類型: .rar
    金幣: 2
    下載: 2 次
    發布日期: 2021-11-13
  • 語言: Matlab
  • 標簽: SVM??

資源簡介

在matlab使用SVM工具箱進行分類與回歸的小例子

資源截圖

代碼片段和文件信息

%%?Matlab神經網絡43個案例分析

%?初識SVM分類與回歸
%?by?李洋(faruto)
%?http://www.matlabsky.com
%?Email:faruto@163.com
%?http://weibo.com/faruto?
%?http://blog.sina.com.cn/faruto
%?2013.01.01
%%?A?Little?Clean?Work
tic;
clear;
clc;
close?all;
format?compact;
%%?使用Libsvm進行分類的小例子
%{
一個班級里面有兩個男生(男生1、男生2),兩個女生(女生1、女生2),其中
男生1?身高:176cm?體重:70kg;
男生2?身高:180cm?體重:80kg;

女生1?身高:161cm?體重:45kg;
女生2?身高:163cm?體重:47kg;
如果我們將男生定義為1,女生定義為-1,并將上面的數據放入矩陣data中
并在label中存入男女生類別標簽(1、-1)
%}
data?=?[176?70;
????????180?80;
????????161?45;
????????163?47];
label?=?[1;1;-1;-1];
%{
這樣上面的data矩陣就是一個屬性矩陣,行數4代表有4個樣本,列數2表示屬性有兩個,
label就是標簽(1、-1表示有兩個類別:男生、女生)。
%}

%?利用libsvm建立分類模型
model?=?svmtrain(labeldata);

%{
此時該班級又轉來一個新學生,其
身高190cm,體重85kg
我們想給出其標簽(想知道其是男[1]還是女[-1])
由于其標簽我們不知道,我們假設其標簽為-1(也可以假設為1)?
%}
testdata?=?[190?85];
testdatalabel?=?-1;

[predictlabelaccuracy]?=?svmpredict(testdatalabeltestdatamodel);
predictlabel
if?1?==?predictlabel
????disp(‘==該生為男生‘);
end
if?-1?==?predictlabel
????disp(‘==該生為女生‘);
end

%?%?下面再使用libsvm工具箱本身帶的測試數據heart_scale來進行一下測試
%?首先載入數據
load?heart_scale;
data?=?heart_scale_inst;
label?=?heart_scale_label;

%?選取前200個數據作為訓練集合,后70個數據作為測試集合
ind?=?200;
traindata?=?data(1:ind:);
trainlabel?=?label(1:ind:);
testdata?=?data(ind+1:end:);
testlabel?=?label(ind+1:end:);

%?利用訓練集合建立分類模型
model?=?svmtrain(trainlabeltraindata‘-s?0?-t?2?-c?1.2?-g?2.8‘);

%?利用建立的模型看其在訓練集合上的分類效果
[ptrainacctrain]?=?svmpredict(trainlabeltraindatamodel);

%?預測測試集合標簽
[ptestacctest]?=?svmpredict(testlabeltestdatamodel);
%%?使用Libsvm進行回歸的小例子
%?生成待回歸的數據
x?=?(-1:0.1:1)‘;
y?=?-x.^2;

%?建模回歸模型
model?=?svmtrain(yx‘-s?3?-t?2?-c?2.2?-g?2.8?-p?0.01‘);

%?利用建立的模型看其在訓練集合上的回歸效果
[pymse]?=?svmpredict(yxmodel);

scrsz?=?get(0‘ScreenSize‘);
figure(‘Position‘[scrsz(3)*1/4?scrsz(4)*1/6??scrsz(3)*4/5?scrsz(4)]*3/4);
plot(xy‘o‘);
hold?on;
plot(xpy‘r*‘);
legend(‘原始數據‘‘回歸數據‘);
grid?on;

%?進行預測
testx?=?1.1;
display(‘真實數據‘)
testy?=?-testx.^2

[ptestytmse]?=?svmpredict(testytestxmodel);
display(‘預測數據‘);
ptesty

%%?Record?Time
toc;

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????2555??2013-08-18?10:51??Chapter_ClassifyRegressUsingLibsvm.m

?????文件??????28904??2005-03-22?20:37??heart_scale.mat

-----------?---------??----------?-----??----

????????????????31459????????????????????2


評論

共有 條評論