matlab下libSVM的用法

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
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值