********************************************************

*********************************************************

一次模式识别课中的关于SVM用法的一个简单的实例(训练集和测试集简单的划分):

一、实验目的

1.掌握支持向量机(SVM)的原理、核函数类型选择以及核参数选择原则等;

2.熟悉基于libSVM二分类的一般流程与方法;

二、实验内容

1.对“bedroom, forest”两组数据进行分类(二分类);

2.得到试验分类准确率;

1.LibSVM软件包,3.17版本;

2. Matlab 2013a。

(1) 试验流程:

Step1: 根据给定的数据,选定训练集和测试集;

Step2: 为训练集与测试集选定标签集;

Step3: 利用训练集进行训练分类器得到model;

Step4: 根据model,对测试集进行测试集得到accuracy rate;

(2) 实验数据准备:

“bedroom.mat”10*15的矩阵,分别代表了不同的十张有关于bedroom的图片的15维属性;

“forest.mat”10*15矩阵,分别代表了不同的十张有关于forest的图片的15维属性特征;

训练集:trainset(); 分别取bedroom(1:5,:)和forse(1:5,:)作为训练集;

测试集:testset(); 分别取bedroom(6:10,:)和forse(6:10,:)作为测试集;

标签集:label(); 取bedroom的数据为正类标签为1;forse的数据为负类标签为-1.

(3) Matlab程序与实验结果:

附录:matlab代码

%% SVM数据分类预测---作业数据

%

%

%*****write by Taozhang 2014.04.16

%%

clear all;

clc;

%%

% 作业中提供的数据已做整理,不在单独导入;

%%

dataset是将bedroom和forest合并;dataset =

[bedroom;forset];这行代码可以实现合并

load

dataset.mat %导入要分类的数据集

load

labelset.mat %导入分类集标签集

% 选定训练集和测试集

% 将第一类的1-5,第二类的11-15做为训练集

train_set = [dataset(1:5,:);dataset(11:15,:)];

% 相应的训练集的标签也要分离出来

train_set_labels =

[lableset(1:5);lableset(11:15)];

% 将第一类的6-10,第二类的16-20,做为测试集

test_set = [dataset(6:10,:);dataset(16:20,:)];

% 相应的测试集的标签也要分离出来

test_set_labels =

[lableset(6:10);lableset(16:20)];

% 数据预处理,将训练集和测试集归一化到[0,1]区间

[mtrain,ntrain] = size(train_set);

[mtest,ntest] = size(test_set);

test_dataset = [train_set;test_set];

% mapminmax为MATLAB自带的归一化函数

[dataset_scale,ps] =

mapminmax(test_dataset',0,1);

dataset_scale = dataset_scale';

train_set = dataset_scale(1:mtrain,:);

test_set = dataset_scale(

(mtrain+1):(mtrain+mtest),: );

%% SVM网络训练

model = svmtrain(train_set_labels, train_set, '-s 2

-c 1 -g 0.07');

%% SVM网络预测

[predict_label] = svmpredict(test_set_labels,

test_set, model);

%% 结果分析

% 测试集的实际分类和预测分类图

% 通过图可以看出只有一个测试样本是被错分的

figure;

hold on;

plot(test_set_labels,'o');

plot(predict_label,'r*');

xlabel('测试集样本','FontSize',12);

ylabel('类别标签','FontSize',12);

legend('实际测试集分类','预测测试集分类');

title('测试集的实际分类和预测分类图','FontSize',12);

grid on;

程序运行结果:

optimization finished, #iter = 5

nu = 0.643949

obj = -4.304693, rho = -0.008725

nSV = 8, nBSV = 6

Total nSV = 8

Accuracy = 100% (10/10) (classification)

matlab支持向量机预测电机故障,关于支持向量机(SVM)的一个简单应用实例及matlab代码...相关推荐

  1. OpenCV支持向量机SVM和SDG算法的实例(附完整代码)

    OpenCV支持向量机SVM和SDG算法的实例 OpenCV支持向量机SVM和SDG算法的实例 OpenCV支持向量机SVM和SDG算法的实例 #include "opencv2/core. ...

  2. 一个简单的BP神经网络matlab程序(附函数详解)

    说明:20180604更新 1.此文的程序来自博客:http://www.cnblogs.com/heaad/archive/2011/03/07/1976443.html 2.本人对其中涉及到的函数 ...

  3. matlab简单程序实例视频,matlab编程实例100例.docx

    matlab编程实例100例 1-32是:图形应用篇33-66是:界面设计篇67-84是:图形处理篇85-100是:数值分析篇实例1:三角函数曲线(1)function shili01h0=figur ...

  4. 安装MATLAB R2012B遇到问题(需要继续安装以下一个或多个产品: MATLAB 8.0 (不可用) 您必须选择已至少安装这些),已决解!...

    :D:\Matlab800\MATLAB R2012b crack\MPS\install.jar的install.jar文件替换D:\Matlab800\java\jar\install.jar的i ...

  5. 【Matlab电力负荷预测】粒子群算法优化支持向量机预测电力负荷【含源码 1225期】

    一.代码运行视频(哔哩哔哩) [Matlab电力负荷预测]粒子群算法优化支持向量机预测电力负荷[含源码 1225期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [ ...

  6. 电机测试matlab,基于MATLAB的电机故障诊断模型训练与测试平台

    基于MATLAB的电机故障诊断模型训练与测试平台 于际河 [期刊名称]<计算机光盘软件与应用> [年(卷),期]2014(000)005 [摘要]基于MATLAB的可视化编程技术,设计电机 ...

  7. SVM支持向量机算法做预测,matlab,预测精度非常高

    SVM支持向量机算法做预测,matlab,预测精度非常高! 预测结果评价指标: RMSE = 179.6986 MSE = 32291.5755 MAE = 108.5571 MAPE = 0.035 ...

  8. R语言e1071包中的支持向量机:仿真数据(螺旋线性不可分数据集)、简单线性核的支持向量机SVM(模型在测试集上的表现、可视化模型预测的结果、添加超平面区域与原始数据标签进行对比分析)、如何改进核函数

    R语言e1071包中的支持向量机:仿真数据(螺旋线性不可分数据集).简单线性核的支持向量机SVM(模型在测试集上的表现.可视化模型预测的结果.添加超平面区域与原始数据标签进行对比分析).如何改进核函数 ...

  9. python 支持向量机预测结果相同_Python机器学习算法 — 支持向量机(SVM)

    SVM--简介 支持向量机(Support Vector Machines)是一种二分类模型,它的目的是寻找一个超平面来对样本进行分割,分割的原则是间隔最大化,最终转化为一个凸二次规划问题来求解. 在 ...

  10. Python中的支持向量机SVM的使用(有实例项目给的地址)

    除了在Matlab中使用PRTools工具箱中的svm算法,Python中一样可以使用支持向量机做分类.因为Python中的sklearn库也集成了SVM算法,本文的运行环境是Pycharm. 一.导 ...

最新文章

  1. 解决事件多次绑定,执行多次问题
  2. swift_003(Swift的?和!)
  3. Ecshop后台流量分析--地区分布的地名全是乱码
  4. 屏蔽控制台应用程序的窗口#pragma comment(linker, /subsystem:windows /ENTRY:mainCRTStartup)...
  5. idea如何设置自动换行
  6. Facebook力推导航库:React Navigation使用详解
  7. Vue -- 项目报错整理(1):RangeError: Maximum call stack size exceeded
  8. C#程序读取MAC地址的方法
  9. [vscode] python debugging
  10. 手机虚拟摄像头_新游 | 打破次元壁障,《猪猪侠AR虚拟使命》现实约战,一切尽在创酷互动!...
  11. centos7从有线切换到无线_不需要软件,如何简单实现内外网自由切换?
  12. java线程并发库之--线程阻塞队列ArrayBlockingQueue
  13. 方舟php服务器控制,方舟基本管理命令代码
  14. Android Studio查看MD5与SHA1
  15. 天牛须和贪心算法_天牛须搜索算法(BAS)
  16. 风力机叶片气动设计 matlab 程序,基于MATLAB的小型风力机叶片设计
  17. Java实现随机人名抽取
  18. 信息安全概论复习题总结
  19. excel培训机构_中金中国企业跨境并购流程、重点问题和交易架构设计(内部培训)42页...
  20. Xilinx Video 教程 Lesson 2

热门文章

  1. boost电路输出电流公式_​boost电路工作原理、参数计算、占空比
  2. trajan 塔杨算法 求割点,割边
  3. 软件工程知识点总结——第一、二部分
  4. 基于javaweb酒店信息管理系统、基于ssm/springboot的酒店预定系统
  5. 第24篇 研究WebRTC官网之生成工程文件
  6. Python五角星绘制
  7. 视频帧数,普清,高清,超清,分辨率
  8. 20145201 《信息安全系统设计基础》期中总结
  9. NLP炼丹技巧:标签平滑label smoothing
  10. 最新互联网架构师视频教程+源码20G