zoukankan      html  css  js  c++  java
  • win10系统matlab64位环境下安装libsvm工具箱

    1. 前言

    之前在win10系统matlab64环境下环安装libsvm工具箱安装了好久都没有成功,今天通过阅读牛人的一些博客,终于配置成功并且可以顺利使用,所以特写博客分享之。

    2. 工具准备

    所需要安装的软件:matlab R2014a , SDK7.1(GRMSDKX_EN_DVD),VC-Compiler-KB2519277
    matlab安装这里就不再具体介绍了。
    SDK7.1和VC-Compiler的下载地址为:
    链接:https://pan.baidu.com/s/1bpYKsA7 密码:57ri
    分别安装以上两个软件。

    3. libsvm工具箱安装

    3.1 libsvm下载

    这里下载最新版本的libsvm3.22,下载地址如下:https://www.csie.ntu.edu.tw/~cjlin/libsvm/
    将下载后的libsvm解压并放到matlab的子目录toolbox下,即D:Program FilesMATLABR2014a oolbox。

    3.2 设置路径

    打开matlab主界面,点击“设置路径”,选择“添加并包含子文件夹”,添加解压的libsvm路径D:Program FilesMATLABR2014a oolboxlibsvm-3.22。

    3.3 生成系列文件

    将当前matlab的工作路径设为D:Program FilesMATLABR2014a oolboxlibsvm-3.22matllab
    在命令行窗口键入如下命令:

    >> mex -setup
    MEX 配置为使用 'Microsoft Windows SDK 7.1 (C)' 以进行 C 语言编译。
    Warning: The MATLAB C and Fortran API has changed to support MATLAB
        variables with more than 2^32-1 elements. In the near future
        you will be required to update your code to utilize the
        new API. You can find more information about this at:
        http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html.
    
    要选择不同的语言,请从以下选项中选择一种命令:
    mex -setup C++ 
    mex -setup FORTRAN
    >> mex -setup C++
    MEX 配置为使用 'Microsoft Windows SDK 7.1 (C++)' 以进行 C++ 语言编译。
    Warning: The MATLAB C and Fortran API has changed to support MATLAB
        variables with more than 2^32-1 elements. In the near future
        you will be required to update your code to utilize the
        new API. You can find more information about this at:
        http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html.
    >> make
    使用 'Microsoft Windows SDK 7.1 (C)' 编译。
    MEX 已成功完成。
    使用 'Microsoft Windows SDK 7.1 (C)' 编译。
    MEX 已成功完成。
    使用 'Microsoft Windows SDK 7.1 (C++)' 编译。
    找不到 D:Program FilesMATLABR2014a	oolboxlibsvm-3.22matlabsvmtrain.exp
    
    找不到 D:Program FilesMATLABR2014a	oolboxlibsvm-3.22matlabsvmtrain.exp
    
    MEX 已成功完成。
    使用 'Microsoft Windows SDK 7.1 (C++)' 编译。
    找不到 D:Program FilesMATLABR2014a	oolboxlibsvm-3.22matlabsvmpredict.exp
    
    找不到 D:Program FilesMATLABR2014a	oolboxlibsvm-3.22matlabsvmpredict.exp
    
    MEX 已成功完成。
    

    此时,在会自动make出来很多文件,不用管,主要是会看到make出带有mexw64后缀名的文件,这就成功了。

    4. 测试

    4.1 键入load heart_scale

    输入以下命令:

    >> load heart_scale
    错误使用 load
    ASCII 文件 heart_scale 的第 3 行中的列数必须与前面行中的列数相同。
    

    此时是因为安装包中的数据存在问题,下载新的数据,下载地址如下:
    链接:https://pan.baidu.com/s/1nw38byT 密码:fpuk
    并且用下载的数据覆盖安装包中的数据。

    4.2 训练模型

    >> model=svmtrain(heart_scale_label,heart_scale_inst,'-c 1 -g 0.07')
    *
    optimization finished, #iter = 134
    nu = 0.433785
    obj = -101.855060, rho = 0.426412
    nSV = 130, nBSV = 107
    Total nSV = 130
    
    model = 
    
        Parameters: [5x1 double]
          nr_class: 2
          totalSV: 130
              rho: 0.4264
            Label: [2x1 double]
        sv_indices: [130x1 double]
            ProbA: []
            ProbB: []
              nSV: [2x1 double]
          sv_coef: [130x1 double]
              SVs: [130x13 double]
    

    4.3 分类预测

    [predict_label,accuracy,dec_values]=svmpredict(heart_scale_label,heart_scale_inst,model)
    Accuracy = 86.6667% (234/270) (classification)
    
    predict_label =
    
        1
        -1
        -1
        1
       ...
    accuracy =
    
      86.6667
        0.5333
        0.5326
    
    
    dec_values =
    
        1.2258
      -0.3213
      -0.7609
        1.4504
      -1.0003
      -0.1669
      ...
    

    参考链接:
    http://blog.csdn.net/hh13248101160/article/details/77837515
    http://blog.csdn.net/blue_sky_shy/article/details/52050630

  • 相关阅读:
    Python--__init__方法
    Python--面向对象编程
    用R语言对NIPS会议文档进行聚类分析
    docker oracle install
    java 删除字符串左边空格和右边空格 trimLeft trimRight
    mysql 表名和字段、备注
    docker学习
    shell爬虫
    shell 解析json
    SecureCRT 7.1.1和SecureFx key 亲测可用
  • 原文地址:https://www.cnblogs.com/bbn0111/p/8418925.html
Copyright © 2011-2022 走看看