matlab-SVM学习记1
2017-05-10 10:42
197 查看
一:下载安装SVM工具箱
通用工具箱网址:http://see.xidian.edu.cn/faculty/chzheng/bishe/indexfiles/indexl.htm
添加路径:add path~
检验安装成功,运行代码:which svcoutput
二:测试数据SVM分类
%输入参数:X,Y,ker,C,p1,p2
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);%预测
figure
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
三:运行SVM包出错
错误为:
Error in ==> svc at 60
[alpha lambda how] = qp(H, c, A, b, vlb, vub, x0, neqcstr);
原因分析:matlab版本问题,版本太高。
解决措施:重新编译dll文件
输入代码:
cd 'C:\Program Files\MATLAB\toolbox\svm\Optimiser'
mex -v qp.c pr_loqo.c
运行成功后将Optimiser文件夹中的qp.mexw64重命名并复制替换svm文件夹下的qp.dll
注意:是替换svm中的dll不是Optimiser文件夹,Optimiser文件夹的qp.mexw64不要删除
通用工具箱网址:http://see.xidian.edu.cn/faculty/chzheng/bishe/indexfiles/indexl.htm
添加路径:add path~
检验安装成功,运行代码:which svcoutput
二:测试数据SVM分类
%输入参数:X,Y,ker,C,p1,p2
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);%预测
figure
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
三:运行SVM包出错
错误为:
Error in ==> svc at 60
[alpha lambda how] = qp(H, c, A, b, vlb, vub, x0, neqcstr);
原因分析:matlab版本问题,版本太高。
解决措施:重新编译dll文件
输入代码:
cd 'C:\Program Files\MATLAB\toolbox\svm\Optimiser'
mex -v qp.c pr_loqo.c
运行成功后将Optimiser文件夹中的qp.mexw64重命名并复制替换svm文件夹下的qp.dll
注意:是替换svm中的dll不是Optimiser文件夹,Optimiser文件夹的qp.mexw64不要删除
相关文章推荐
- SVM学习笔记(1)LIBSVM在matlab下的使用安装
- 支撑向量机 SVM 学习笔记(Matlab代码)
- SVM(MATLAB) 学习总结
- matlab SVM有监督学习
- 很好的学习资料-详细介绍SVM-来自matlab论坛-【关于SVM的那点破事】.mht
- Matlab自带的分类学习工具箱(SVM、决策树、Knn等分类器)
- [matlab]机器学习及SVM工具箱学习笔记
- SVM(MATLAB) 学习总结
- matlab SVM有监督学习
- matlab进行图像处理学习笔记
- 1、Matlab一维数组合并学习
- 统计学习,SVM和Kernel method资料
- 【荐】matlab、C++、C#学习及代码下载推荐网站
- 总结一下这几天学习matlab学到的东西
- [MATLAB]我的MATLAB学习经历
- 一个非常好的MATLAB学习网站
- A guide to Matlab for Beginners and Experienced Users——学习笔记【1】
- Solaris学习之SVM
- MATLAB学习进行时!
- Matlab学习笔记(2)矩阵与魔方