• libsvm学习(二)——第一次体验libsvm(转)


      1. 把LibSVM包解压到相应的目录(因为我只需要里面windows文件夹中的东东,我们也可以只把windows文件夹拷到相应的目录),比如D:/libsvm。

           2. 在电脑“开始”的“运行”中输入cmd,进入DOS环境。定位到d:/ libsvm下,具体命令如下:

               

               d: (回车)

             cd /libsvm/windows (回车)

             

               (上面第一行是先定位到盘符d,第二行cd 是定位到相应盘符下的目录)

           3. 进行libsvm训练,输入命令:(这里要注意文件的名字,2.89以前版本都是svmtrain.exe)

              

              svm-train heart_scale train.model

      

               heart_scale ——是目录下的已经存在的样本文件,要换成自己的文件,只需改成自己的文件名就可以了

             train.model ——是创建的结果文件,保存了训练后的结果

           

       可以看到结果:

         *

    optimization finished, #iter = 162

    nu = 0.431029

    obj = -100.877288, rho = 0.424462

    nSV = 132, nBSV = 107

          Total nSV = 132

           其中,#iter为迭代次数,nu 是你选择的核函数类型的参数,obj为SVM文件转换为的二次规划求解得到的最小值,rho为判决函数的偏置项b,nSV 为标准支持向量个数(0<a[i]<c),nBSV为边界上的支持向量个数(a[i]=c),Total nSV为支持向量总个数(对于两类来说,因为只有一个分类模型Total nSV = nSV,但是对于多类,这个是各个分类模型的nSV之和)。

        在目录下,还可以看到产生了一个train.model文件,可以用记事本打开,记录了训练后的结果。

              svm_type c_svc                     //所选择的svm类型,默认为c_svc

              kernel_type rbf                       //训练采用的核函数类型,此处为RBF核

              gamma 0.0769231                   //RBF核的参数γ

              nr_class 2                               //类别数,此处为两分类问题

              total_sv 132                           //支持向量总个数

              rho 0.424462                          //判决函数的偏置项b

              label 1 -1                                 //原始文件中的类别标识

              nr_sv 64 68                           //每个类的支持向量机的个数

              SV                                          //以下为各个类的权系数及相应的支持向量

       1 1:0.166667 2:1 3:-0.333333 … 10:-0.903226 11:-1 12:-1 13:1

       0.5104832128985164 1:0.125 2:1 3:0.333333 … 10:-0.806452 12:-0.333333 13:0.5

       ………..

       -1 1:-0.375 2:1 3:-0.333333…. 10:-1 11:-1 12:-1 13:1

             -1 1:0.166667 2:1 3:1 …. 10:-0.870968 12:-1 13:0.5

        到现在,第一次体验libsvm到这就基本结束了,其他的两个(svm-predict、svm-scale)的使用过程类似。怎么样,挺爽的吧。对于个别参数你还不理解,没关系,下面我们会具体讲到。

  • 相关阅读:
    socket的几大异常以及其出现的原因
    将文件打包成apk
    putty失活不挂起运行
    天气免费接口
    内存泄漏
    The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build
    009 预处理 #pragma once; typedef; #ifdef
    008 区别 : NULL nullptr
    007 头文件 : 作用/组织/包含
    006 整数/浮点数/cpu频率
  • 原文地址:https://www.cnblogs.com/Miliery/p/4394074.html
Copyright © 2020-2023  润新知