找回密码
 注册
关于网站域名变更的通知
查看: 527|回复: 1
打印 上一主题 下一主题

了解一下Matlab中的SVM工具箱的使用方法吧

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-7-2 15:36 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

1,下载SVM工具箱:http://see.xidian.edu.cn/faculty/chzheng/bishe/indexfiles/indexl.htm

2,安装到matlab文件夹中

  1)将下载的SVM工具箱的文件夹放在\matlab71\toolbox\下

  2)打开matlab->File->Set Path中添加SVM工具箱的文件夹

  现在,就成功的添加成功了.

  可以测试一下:在matlab中输入which svcoutput 回车,如果可以正确显示路径,就证明添加成功了,例如:

C:\Program Files\MATLAB71\toolbox\svm\svcoutput.m

3,用SVM做分类的使用方法

  1)在matlab中输入必要的参数:X,Y,ker,C,p1,p2

    我做的测试中取的数据为:

    N = 50;

    n=2*N;
% H: \& |- v% {! L- R& |    randn('state',6);
5 d, n: |, D( _' E0 Y    x1 = randn(2,N)
1 G. e  O3 @  s. ]# ?5 H! s    y1 = ones(1,N);1 O4 S& }2 `& ^5 @+ d" q6 e; ~
    x2 = 5+randn(2,N);& ~' u3 z; E7 `8 n' }
    y2 = -ones(1,N);

    figure;3 p8 x3 I" u0 q3 b
    plot(x1(1,: ),x1(2,: ),'bx',x2(1,: ),x2(2,: ),'k.');
6 o: u) O- k! L  _; _" j& L6 b    axis([-3 8 -3 8]);
# a" B4 A: h; h    title('C-SVC')1 u1 p% R4 N9 f7 W8 }! q1 O8 }/ m
    hold on;

    X1 = [x1,x2];

    Y1 = [y1,y2];  

    X=X1';

    Y=Y1';

    其中,X是100*2的矩阵,Y是100*1的矩阵

    C=Inf;

    ker='linear';

    global p1 p2

    p1=3;

    p2=1;

    然后,在matlab中输入:[nsv alpha bias] = svc(X,Y,ker,C),回车之后,会显示:


* L' }0 r5 w0 p# ]- h* C/ ^/ i

Support Vector Classification8 i: v1 q( z! r+ ~4 R2 f7 e2 s
_____________________________0 s# ~6 `/ q  S- o$ v. L! j4 C
Constructing ...
& r5 J. }. @' dOptimising ...% J. k/ R- H$ r9 n5 Q* W
Execution time:  1.9 seconds
; ?$ i! j% Z; {. t2 I2 j9 \Status : OPTIMAL_SOLUTION3 S9 M0 d) n- V* b; d- T/ Q
|w0|^2    : 0.418414
- T: b) u5 b& N; q, ~7 SMargin    : 3.091912
" B8 x* i5 e. TSum alpha : 0.4184144 T( a$ J: Z" W) Z2 r4 |- q9 V0 W
Support Vectors : 3 (3.0%)

nsv =

     3


! W) \3 `+ O  D- @, d7 s2 V7 Ealpha =

    0.0000% p, m6 k5 [# o: _* ^; M+ }* b
    0.0000' O  L/ |: q6 U1 \0 `# p2 `4 V0 c  e
    0.0000
" M, T$ P! [/ a. X5 W    0.0000
+ j, p* ?4 }, X8 d- e- l$ O    0.0000

    2)输入预测函数,可以得到与预想的分类结果进行比较.

      输入:predictedY = svcoutput(X,Y,X,ker,alpha,bias),回车后得到:


* K2 m6 h! N8 B( E

predictedY =

     1. s: A/ _9 t7 Z9 r4 ^# v  Q! C
     1
! o% N9 x5 J3 j1 @( V6 V# t* r1 G     1" L( k$ H  a+ z5 P
     1
+ B: R3 t5 _1 o  k0 s. s8 q7 J* D; u     1/ Z, Q8 ]7 O5 A  v4 U* K% N- h
     17 f# ]; B$ w5 e
     12 r# \8 u+ q: H$ B
     1
7 R+ r. g6 h$ ?- m* d0 {6 @+ F     1

    3)画图

      输入:svcplot(X,Y,ker,alpha,bias),回车

补充:

X和Y为数据,m*n:m为样本数,n为特征向量数

比如:取20组训练数据X,10组有故障,10组无故障的,每个训练数据有13个特征参数,则m=20,n=13

Y为20*1的矩阵,其中,10组为1,10组为-1.

对于测试数据中,如果取6组测试数据,3组有故障,3组无故障的,则m=6,n=13

Y中,m=6,n=1

% z$ j9 r/ L* u* H

* C) H5 S$ b6 ~
8 [, e  J! F, @9 f: A* f! Z$ R

$ ]; z, g4 b2 z+ H* Z# C1 k) c* q/ _( b* l
0 E" S/ T& {  P; Q5 j
2 R( ?0 z! p  V9 C; g% A8 _# x
1 Q" T; A2 K* f9 |3 X3 N/ Z/ x9 g

该用户从未签到

2#
发表于 2020-7-2 16:22 | 只看该作者
Matlab中的SVM工具箱的使用方法
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-6 04:59 , Processed in 0.156250 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表