matlab下libSVM的用法
2016-01-07 11:06
453 查看
libSVM的安装、编译有问题的可以百度。下面给出一个简单的例子,并对libSVM训练后的model内部的几个参数加以说明
%% 自定义的三个向量x=[3 3;4 3; 1 1];
y=[1;1;-1];
[m,n]=size(x);
hold on;
axis([0 5 0 4]); % axis([xmin,xmax,ymin,ymax])
set(gca,'XTick',[0:1:5]) %改变x轴坐标间隔显示
for i=1:m
if y(i)==1
plot(x(i,1),x(i,2),'+');
else
plot(x(i,1),x(i,2),'o');
end
end
%% 用libsvm训练样本,并进行正确率分析
model = svmtrain(y, x,'-s 0 -t 0'); %训练svm模型
[predict_label]=svmpredict(y,x,model);%用训练好的svm模型,预测数据
经过svmtrain后,得到svm的模型model。这个模型的几个主要参数及意义:
rho:表示截距b,符号与一般教材上的公式相反。
sv_indices:表示求得的支持向量的索引
sv_coef:表示对应支持向量的系数ai,而且这些系数是已经和对应的标签相乘过的。
SVs:表示具体的支持向量
有了这些信息后,可自行做预测(当然直接用svmpredict更简单)
做线性预测时,假设查询点为x,预测结果=sum(ai*xi.*x)-rho,而不是sum(ai*yi*xi.*x)-rho
相关文章推荐
- matlab求极值的函数
- PCA算法
- 无意中遇到的bsxfun函数—matlab
- 线性规划问题之MATLAB实现
- 在C#应用中使用Matlab函数
- MATLAB画图
- deep learning之PCA in 2D matlab 实现
- 二维最大类间方差(otsu)matlab实现源码
- Kinect桥接Matlab代码简介KinectBridge With Matlab
- matlab的log()函数默认是以e为底的
- matlab2012 toolbox 曲线拟合
- Matlab 画图函数
- Matlab install on ubuntu
- MATLAB 中的randn函数
- Matlab中size、numel、length、fix函数的使用
- Matlab plotyy画双纵坐标图实例
- 低版本MATLAB mex -setup找不到VS2013解决办法
- matlab中figure的坐标轴label、title、xticklabel的旋转
- matlab自带函数实现高斯滤波(gauss filter)快速算法
- Matlab从三维矩阵中取出一列并且reshape