EDA365电子论坛网
标题:
Matlab安装SVM工具箱
[打印本页]
作者:
pulbieup
时间:
2020-3-9 13:24
标题:
Matlab安装SVM工具箱
) M" x8 E, F8 n# h1 K; {/ C* L0 T
工作环境
8 G) O! s# y3 _! ?* J
软件环境:Windows 7 Ultimate sp1、matlabR2012b 32bit
9 K) |% q; G& j. e) i; l' }+ g$ I1 f
4 ~; d4 K5 [* ~2 [7 m' s \9 S
/ P1 O. M* H* z
Matlab 官方并没有自带svm工具箱,这就需要我们手动来添加SVM工具箱了,具体步骤如下:
( I f- p; a! ^0 M! D u0 z" b
* X9 A+ K. t, {( m1 @6 x: ]$ r
Step1:下载SVM工具箱,
http://see.xidian.edu.cn/faculty ... dexfiles/indexl.htm
2 F* ]" y# j1 p$ K, D2 L3 k X, I
& U1 k( q5 O. S0 C+ w! [/ U
解压缩到matlab安装目录\toolbox
z: ]. y) e; e! A/ z% O1 r$ n
: P( Y" N3 s5 D! I# ]
Step2:安装,打开matlab点击set path---->add folder 然后把你的工具箱文件夹添加进去就可以了
r. C- y2 Z2 e2 K3 I
, H. c% h+ \# s2 g% F' I
Step3:路径加进去后在file→Preferences→General的Toolbox Path Caching里点击update Toolbox Path Cache更新一下。
# k2 [+ z1 l3 h1 ?- M7 G
. i3 S+ o4 z9 V6 T3 i# a: D, r
Step4:测试,可以测试一下:在matlab中输入which svcoutput 回车,如果可以正确显示路径,就证明添加成功了。
; E' ?; g X; `, V9 \* L
, K" ]0 d+ _8 g/ N5 p4 @
编写测试脚本:
8 d3 l5 j* v( r$ M# D
, x' C p$ R! H7 b! M# q4 F
% SVM工具箱测试代码,Create by pang
clc
clear all
close all
N = 50;
n=2*N;
randn('state',6);
x1 = randn(2,N)
y1 = ones(1,N);
x2 = 5+randn(2,N);
y2 = -ones(1,N);
figure;
plot(x1(1,:),x1(2,:),'bx',x2(1,:),x2(2,:),'k.');
axis([-3 8 -3 8]);
title('C-SVC')
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;
[nsv alpha bias] = svc(X,Y,ker,C);
predictedY = svcoutput(X,Y,X,ker,alpha,bias);
svcplot(X,Y,ker,alpha,bias);
( {2 P' a' E4 H$ I
1 ]* x, t, e& E/ {' I
9-32.png
(67.53 KB, 下载次数: 8)
下载附件
保存到相册
2020-3-9 13:23 上传
4 a+ e" C+ \1 @: u0 s
$ g; s; m, p% k @3 O
问题:
8 |* H) f( r1 p/ p/ B Y W
( |' C1 x" C/ k) P
如果报错:Invalid MEX-file 'E:\1_Program_File\MatlabR2012b\toolbox\svm\qp.dll':
. i# y4 Q2 A1 t- C& v5 r6 }
E:\1_Program_File\MatlabR2012b\toolbox\svm\qp.dll is not a valid Win32 application.
9 @4 V, w0 t7 |) g
经过搜索看到有很多人出现这个问题,貌似是因为matlab版本比较高,解决办法:1、在Matlab的command中输入
9 s6 R# M b: `
- y4 e9 @, ]$ V' n
>> cd matlab安装路径\toolbox\svm\Optimiser
# n( y J0 M+ @; C" q3 |! k0 ~. J
>> mex -v qp.c pr_loqo.c
( o. o0 H# C1 H! f1 c8 m
* t7 `2 d7 W/ L
出现选项:
. S$ s! x- N2 V& b) A$ S* Y0 D: r) ^
8 K" r, R {& H3 G2 T9 T5 r
Select a compiler:
% M4 t4 R1 i$ ?) A
[1] Lcc-win32 C 2.4.1 in E:\1_PROG~1\MATLAB~1\sys\lcc
# v P7 r. g4 U" C/ x, v# Q; m
[0] None
% T+ W7 m+ [; |- {6 C+ A/ k9 E
9 X# k$ S2 d: }& ]
选择1,Optimiser文件夹下看到两个文件:qp.dll.old和qp.mexw32;把qp.mexw32重命名为qp.dll覆盖svm文件夹下的qb.dll即可。
+ s; O, [" [- N6 Z. `( L
! v9 A- n3 B2 \* o
作者:
ExxNEN
时间:
2020-3-9 17:33
Matlab安装SVM工具箱
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2