SVM熟练到精通5:MATLAB实例

本文通过MATLAB详细介绍了支持向量机(SVM)的实现过程,包括源代码的编写与分类结果的解析。
摘要由CSDN通过智能技术生成

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(tra
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值