svm分类与回归的matlab代码
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 324422 2015-04-07 17:08 SVM分类与回归libsvm_library.pdf
文件 5154 2015-04-06 23:30 SVM分类与回归SVM分类小例子.m
文件 1041 2015-04-06 23:42 SVM分类与回归SVM回归小例子.m
文件 1397537 2014-12-18 14:12 SVM分类与回归支持向量机通俗导论(理解SVM的三层境界)Latex版.pdf
目录 0 2015-04-20 15:38 SVM分类与回归
----------- --------- ---------- ----- ----
1728154 5
% 使用libsvm进行分类,只需要有属性矩阵和标签,然后建立分类模型(model),然后利用得到的这个model进行分类预测。
% 举例说明分类
%一个班级里面有两个男生(男生1、男生2),两个女生(女生1、女生2),其中
% 男生1 身高:176cm 体重:70kg;
% 男生2 身高:180cm 体重:80kg;
%
% 女生1 身高:161cm 体重:45kg;
% 女生2 身高:163cm 体重:47kg;
% 将男生定义为1,女生定义为-1
data = [176 70;180 80;161 45;163 47];%属性矩阵,data矩阵为属性矩阵,行数4代表有4个样本,列数2表示属性有两个
label = [1;1;-1;-1];%在label中存入男女生类别标签(1、-1)
model = svmtrain(labeldata);%由属性矩阵data和标签label就可以利用libsvm建立分类模型
testdata = [190 85];%测试数据,已知身高190cm,体重85kg,但是性别未知
testdatalabel = -1; %假设其标签为-1
[predictlabelaccuracy] = svmpredict(testdatalabeltestdatamodel);
predictlabel %通过预测我们得知这个新来的学生的标签是1(男生),由于原本我们假设其标签为-1,假设错误,所以分类准确率为0%。
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
% 使用libsvm工具箱本身带的测试数据heart_scale来实际进行一下测试
tic;
close all;
clear;
clc;
format compact;
%%
% 首先载入数据
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‘);
% 分类模型model解密
model
Parameters = model.Parameters
Label = model.Label
nr_class = model.nr_class
totalSV = model.totalSV
nSV = model.nSV
% 利用建立的模型看其在训练集合上的分类效果
[ptrainacctrain] = svmpredict(trainlabeltraindatamodel);
% 预测测试集合标签
[ptestacctest] = svmpredict(testlabeltestdatamodel);
%%
toc;
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
% libsvm_options:
% -s svm_type : set type of SVM (default 0)
% 0 -- C-SVC
% 1 -- nu-SVC
% 2 -- one-class SVM
% 3 -- epsilon-SVR
% 4 -- nu-SVR
% -t kernel_type : set type of kernel function (default 2)
% 0 -- linear: u‘*v
% 1 -- polynomial: (gamma*u‘*v + coef0)^degree
% 2 -- radial basis function: exp(-gamma*|u-v|^2)
% 3 -- sigmoid: tanh(gamma*u‘*v + coef0)
% 4 -- precomputed kernel (kernel values in training_instance_matrix)
% -d degree : set degree in kernel function (default 3)
% -g gamma : set gamma in kernel function (default 1/k)
% -r coef0 : set coef0 in kernel function (default 0)
% -c cost : set the parameter C of C-SVC epsilon-SVR and nu-SVR (default 1)
% -n nu : set the parameter nu of nu-SVC one-class SVM and nu-SVR (default
%
% 0.5)
% -p epsilon : set the epsilon in loss function of epsilon-SVR (default 0.1)
% -m cachesize : set cache memory size in MB (default 100)
% -e epsilon : set tolerance of term
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 324422 2015-04-07 17:08 SVM分类与回归libsvm_library.pdf
文件 5154 2015-04-06 23:30 SVM分类与回归SVM分类小例子.m
文件 1041 2015-04-06 23:42 SVM分类与回归SVM回归小例子.m
文件 1397537 2014-12-18 14:12 SVM分类与回归支持向量机通俗导论(理解SVM的三层境界)Latex版.pdf
目录 0 2015-04-20 15:38 SVM分类与回归
----------- --------- ---------- ----- ----
1728154 5
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)