matlab中使用SVM

1 下载libsvm的源码
2 在matlab中编译
先输入:

mex -setup

选择编译器
再直接输入make编译
3 使用例子:

%% I. 清空环境变量
clear all
clc
%% II. 导入数据
load iris_data.mat
%%
% 1. 随机产生训练集和测试集
n = randperm(size(features,1));
%%
% 2. 训练集——120个样本
train_features = features(n(1:120),:);
train_classes = classes(n(1:120),:);
%%
% 3. 测试集——30个样本
test_features = features(n(121:end),:);
test_classes = classes(n(121:end),:);
%% III. 数据归一化
[Train_features,PS] = mapminmax(train_features');
Train_features = Train_features';
Test_features = mapminmax('apply',test_features',PS);
Test_features = Test_features';
%%
% 2. 创建/训练SVM模型
model = svmtrain(train_classes,Train_features);
%% V. SVM仿真测试
[predict_label_1,accuracy_1] = svmpredict(train_classes,Train_features,model);
[predict_label_2,accuracy_2] = svmpredict(test_classes,Test_features,model);

最终结果:
Accuracy = 97.5% (117/120) (classification)
Accuracy = 96.6667% (29/30) (classification)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值