找回密码
 注册
关于网站域名变更的通知
查看: 515|回复: 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;
+ g8 k* q, y( x  H" c' ?# V4 ^  d0 |    randn('state',6);
5 G( u$ \/ }8 g& |0 y" K    x1 = randn(2,N). i" ^% G" Y9 T) o3 ]. z
    y1 = ones(1,N);+ V& \1 C4 d# I: y
    x2 = 5+randn(2,N);
; R2 @4 F$ L$ r$ S2 ?9 ~    y2 = -ones(1,N);

    figure;
; n2 t) ~: U; @$ D% {8 f- P+ B3 j    plot(x1(1,: ),x1(2,: ),'bx',x2(1,: ),x2(2,: ),'k.');0 C& I$ f) h; b. Q- L* M
    axis([-3 8 -3 8]);
% q7 M/ g* ~2 l' o    title('C-SVC')
8 j( [8 T& A4 n$ a' w4 X+ S    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),回车之后,会显示:


3 q. a- H. i* f9 `6 ?

Support Vector Classification' U1 b* {; H$ T, x
_____________________________) b: o& K" d" H# U+ p" j& {
Constructing ...6 c  U- m  n% {9 f0 u; B
Optimising ..." H4 T' Q- n: X7 B, w4 F& w
Execution time:  1.9 seconds  z+ a; o$ W$ F4 R) \
Status : OPTIMAL_SOLUTION
9 ]3 r6 ?# L, [' H7 f& Q|w0|^2    : 0.418414
! j6 ~# @- \, L  h$ UMargin    : 3.091912" i" H0 P+ Q+ L
Sum alpha : 0.418414
# |' [7 b% |. x' d. J7 gSupport Vectors : 3 (3.0%)

nsv =

     3

% d& T9 n8 B; d
alpha =

    0.0000/ t! i% _8 c/ ?; q! k
    0.0000  ^# ]9 ~: I0 E+ @
    0.0000
! w# ]; B2 {$ a- H    0.0000
8 T( ^6 N/ A; M$ N0 u6 {    0.0000

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

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


2 X! t- b3 J; ^; B

predictedY =

     1- y# s1 e% o/ Q  d0 o/ P( Z, k
     1  e) \7 T, v6 b+ J3 r' |  K
     1
2 t# r$ F; W% O7 O5 h     1
4 X$ d/ d/ E- L( B  u     1# @: i: |( c" E2 X! t1 ]
     15 {6 L% q' v6 n$ e
     1% D: i4 [1 i  h
     1  R6 L6 A, k% V7 G
     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


* O  r8 m( g0 w7 ]+ F9 c
$ m( N9 h8 U( }$ X* S
4 D* [9 s: O8 j+ d
# R1 K) x1 N2 [: d" {

3 K7 a' P* q0 X+ ^2 I: V$ r4 ^* u+ N

+ z1 O( D/ t. w+ v& S1 R; m8 J8 G. H, s9 Y

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-8 01:44 , Processed in 0.140625 second(s), 27 queries , Gzip On.

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

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

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