SVM分类器-libsvm(三)

本文详细介绍了如何使用Libsvm工具箱在MATLAB中进行SVM分类器的训练和预测。内容包括libsvmread和libsvmwrite函数的使用、svmtrain和svmpredict函数的参数说明,以及训练得到的svm模型结构和参数解析。同时,文章提到了SVM的理论基础和优化方法,如C-Support Vector Classification和v-Support Vector Classification。
摘要由CSDN通过智能技术生成

   Libsvm工具箱的使用:

   一、安装Libsvm

    下载libsvm,然后安装即可,可以参考http://blog.csdn.net/ahuang1900/article/details/8971991。.之后得到4个文件,分别是:libsvmread.mex,libsvmwrite.mex,svmtrain.mex,svmpredict.mex,需要注意:我的是在xp下载安装的,在win7 32为的系统,得到的文件后缀为mexw32。

    函数说明:

     (1)libsvmread:用于读取libsvm格式的文件,’data.txt'中包含的数据是libsvm格式

         使用格式:[label_vector, instance_matrix] = libsvmread('data.txt'); 

输出:1.label_vector:标签向量

      2.instance_matrix:实例矩阵(是一个稀疏矩阵)

原始数据如下:


       使用libsvm数据格式为:标签 属性(x1)编号1:数据 属性(x2)编号2:数据 属性(x3)编号3:数据 ... 属性(xn)编号n:数据 

      上面的数据可以表示为如下:


   (2)libsvmwrite:用于一个matlab的矩阵libsvm格式的数据,写入到data.txt中,用法:

    libsvmwrite('data.txt', label_vector, instance_matrix),其中instance_matrix是必须是稀疏矩阵(double型)

例如,假设有矩阵M=  [1   2 ;  3   4 ],标签矩阵为label = [1;-1]               

利用 sparse函数,把M表示稀疏矩阵形式,

M =

     1     2
     3     4

>> M=sparse(M)

M =

   (1,1)        1
   (2,1)        3
   (1,2)        2
   (2,2)        4

这样通过  libsvmwrite('data.txt', label, M),即可得到libsvm格式的数据data.txt


M =

   (1,1)        1
   (2,1)        3
   (1,2)        2
   (2,2)        4

>> label

label =

     1
    -1

>> libsvmwrite('data.txt', label,M)


data.txt的内容为:
1 1:1 2:2
-1 1:3 2:4

   (3)svmtrain:用于根据训练样本训练一个svm分类器,用法:(svmtrain方程返回的model用于将来预测)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值