SVM熟练到精通5:MATLAB实例
2016-12-26 11:57
696 查看
1.源代码
clc; clear all; close all; load fisheriris; %matlab自带分类数据集fisheriris,来源于http://archive.ics.uci.edu/ml/ 中的risi数据, %其数据类别分为3类,setosa,versicolor,virginica.每类植物有50个样本,共150个。 %每个样本有4个属性,分别为花萼长,花萼宽,花瓣长,花瓣宽。 %其中meas是150*4的矩阵代表着有150个样本每个样本有4个属性描述 %species代表着这150个样本的分类. data = [meas(:,1),meas(:,2)]; %构建测试数据 %在这里只取meas的第一列和第二列,即只选取前两个特征 groups = ismember(species,'setosa'); %构建测试结果 %由于species分类中是有三个分类:setosa,versicolor,virginica %为了使问题简单,我们将其变为二分类问题:Setosa and non-Setosa. [train,test] = crossvalind('holdOut',groups,0.5); %生成交叉验证指标 [Train, Test] = crossvalind('HoldOut', N, P) %返回一个逻辑值的标记向量,从N个观察样本中随机选取(或近似于)P*N个样本作为测试集。 %故P应为0-1,缺省值为0.5。 cp = classperf(groups); %评估分类器性能 svmStruct = svmtrain(data(train,:),groups(train),'showplot',true); %训练支持向量机分类器 %使用svmtrain进行训练,得到训练后的结构svmStruct,在预测时使用 classes = svmclassify(svmStruct,data(test,:),'showplot',true); %对于未知的测试集进行分类预测 SVMStruct = svmtrain(Training,Group,Name,Value) %Training:训练数据矩阵,每一行对应一个观察,每一列对应一个特征或变量; % svmtrain对NAN在训练或空字符串为缺失值,忽略了相应的行组。 %Group:分组变量 %Name:有很多特性,画图、核函数选择、阶数、优化算法等 %SVMStruct:训练后的SVM信息 支持向量、核函数等 classperf(cp,classes,test); cp.CorrectRate; %分类器效果测评,就是看测试集分类的准确率的高低
2.分类结果
相关文章推荐
- SVM熟练到精通3:核函数与非线性分类
- Matlab自带的SVM,实例演示
- SVM熟练到精通1:初识SVM
- SVM实例及Matlab代码
- SVM熟练到精通4:偏离点与松弛变量
- 关于支持向量机(SVM)的一个简单应用实例及matlab代码
- SVM熟练到精通2:SVM目标函数的dual优化推导
- SVM简单实例-A simple implementation of SVM using Matlab
- Matlab、ISE联合开发实例之中值滤波(一)Matlab实现
- matlab中的SVM
- svm简易例子——matlab版本
- java web入门到精通java调用mysql存储过程实例
- SVM(MATLAB) 学习总结
- Matlab svm工具箱配置及‘qp’报错的解决方法
- VLC详细的使用说明以及配置说明综合示范实例精通VLC开发
- (精通C#编程)实例理解overwrite virtual new三者的区别
- MATLAB图形的透视、镂空和裁切实例
- MatLab2012b/MatLab2013b 分类器大全(svm,knn,随机森林等)
- 精通 Windows API 函数、接口、编程实例 --- 卷首语
- Matlab 和C++混合编程(续)实例