小十的个人博客

@小十

十分之十的小十

文章 342
朋友 17
来访 1904

LATEST POSTS

RANKINGS

    • 郑州
    • www.xiaoten.com
    • 网站成立3784天

    小十

    • 收藏品

    libsvm工具箱在64位matlab下的安装说明

    LIBSVM是台湾大学林智仁(Lin Chih-Jen)教授等开发设计的一个简单、易于使用和快速有效的SVM模式识别与回归的软件包,他不但提供了编译好的可在Windows系列系统的执行文件,还提供了源代码,方便改进、修改以及在其它操作系统上应用;该软件对SVM所涉及的参数调节相对比较少,提供了很多的默认参数,利用这些默认参数可以解决很多问题;并提供了交互检验(Cross Validation)的功能。

    官方网站:http://www.csie.ntu.edu.tw/~cjlin/libsvm/

    最近版本可以在上述官方网站中下载,也可以去他们的官方Github项目页去下载。如果网络不畅通,我也上传了3.21版本到百度云,自行下载(链接:http://pan.baidu.com/s/1cLrsFO 密码:h9zx)。

    由于在64位的matlab R2015b下使用mex -setup 编译会报以下异常:

    MEX 配置为使用 'Microsoft Visual C++ 2013 Professional (C)' 以进行 C 语言编译。
    警告: MATLAB C 和 Fortran API 已更改,现可支持
    	包含 2^32-1 个以上元素的 MATLAB 变量。不久以后,
    	 您需要更新代码以利用
    	 新的 API。您可以在以下网址找到相关详细信息:
    	 http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html。
    
    要选择不同的语言,请从以下选项中选择一种命令:
     mex -setup C++ 
     mex -setup FORTRAN

    后来发现可以依照libsvm提供的最原始办法make命令可以解决。

    具体步骤如下:

    1、下载最新版的libsvm,目前最新版本为3.21;

    2、解压libsvm,建议放在matlab程序目录下的toolbox文件夹,具体位置看个人喜好;

    3、在matlab中设置路径,添加并包含子文件夹,将libsvm整个文件夹都加载进去;

    4、切换matlab运行目录至:D:\Program Files\MATLAB\R2015b\toolbox\libsvm\matlab(这个路径只是在我电脑上的路径),在命令行输入make,也就是该目录下的那个make文件。这时候会自动make出来很多文件,会看到make出带有mexm64后缀名的文件,这就成功了。

    5、将第4步make出来的文件复制粘贴到D:\Program Files\MATLAB\R2015b\toolbox\libsvm\windows(即上级目录下的windows文件夹)下,覆盖掉原有的文件。

    6、验证是否能够正常运行。使用libsvm数据测试,可以到官方网站里面的数据集下载测试数据(https://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/binary.html#heart),也可以直接下载整理后的数据,里面也有数据的一些说明(下载地址:http://pan.baidu.com/s/1eSdPLcQ 密码:g42u):

    加载上述压缩包中的heart_scale数据,在matlab中执行下述libsvm工具箱特有的语句:

    model = svmtrain(heart_scale_label, heart_scale_inst, '-c 1 -g 0.07');
    [predict_label, accuracy, dec_values] = svmpredict(heart_scale_label, heart_scale_inst, model);

    如果输出如下结果:

    *
    optimization finished, #iter = 134
    nu = 0.433785
    obj = -101.855060, rho = 0.426412
    nSV = 130, nBSV = 107
    Total nSV = 130
    Accuracy = 86.6667% (234/270) (classification)

    即说明libsvm安装成功。

    Comments | 1 条评论

      游客,你好 修改资料

    *邮箱和昵称必须填写

    • 文章很好,谢谢分享。