资源简介
svm分类与回归的matlab代码
代码片段和文件信息
% 使用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
相关资源
- matlab 静态图像分割
- 基于MATLAB-GUI图形界面的数字图像处理
- matlab结课大作业人脸识别是否戴口罩
- 链路预算模型及matlab实现.zip
- 数字图像处理|Matlab-数字图像编码实
- 美颜软件matlab.zip
- 《Matlab遗传算法工具箱及应用》源码
- matlab车牌识别完整程序
- MATLAB43案例
- 数字信号处理及其Matlab的实现
- vhdl 16位乘法器
- 遥感数字图像处理-matlab-主成份及穗帽
- ECO配置好的MATLAB版本
- 基于核回归kernel regression方法的去模糊
- 音乐检索系统MATLAB程序.zip
- MATLAB生成各类LPI雷达信号
- MATLAB实现语音信号的仿真以及软件界
- matlab 2019a中文版文档清晰pdf
- 基于MATLAB的车牌定位.zip
- EWT 经验小波分解 matlab工具箱 toolbox
- 图像复原技术及其MATLAB实现
- 多智能体的编队控制matlab程序.zip
- RNN算法推导过程及代码.zip
- DACE和OODACE,krigingMATLAB工具箱.zip
- 基于运动想象脑电信号的多特征融合
- 姿态测量MATLAB程序
- Mathematica完美教程 - 从入门到精通
- 最优化方法及其matlab程序实现.zip
- matlab的cvx安装包
- 滑模控制及观测器设计
评论
共有 条评论