一、libsvm官方网址
http://www.csie.ntu.edu.tw/~cjlin/libsvm/
使用入门阅读文档:《A practical guide to SVM classification》
下载地址:http://download.csdn.net/detail/ckzhb/9840092
二、安装
详细安装教程:http://www.matlabsky.com/thread-11925-1-1.html
若64位版本MATLAB安装不成功,可采取以下方法:
主要是不需要如此麻烦的编译过程,直接将libsvm-3.22中windows文件夹添加到工作目录即可。
参考:http://blog.csdn.net/buaasuozi/article/details/50781615/
第一步:添加libsvm-3.22所在位置到matlab的工作搜索路径。(不同于当前目录)
命令行中键入pathtool,然后添加libsvm-3.22所在文件夹,选择“添加文件及其子文件”选项。
更新:若想要使用官方版本的libsvm中的参数优化工具grid.py等,不要将libsvm的安装路径整得很复杂!!
本文将其安装包libsvm322直接放在D盘。
第二步:切换当前工作目录为libsvm所在文件下的matlab文件比如D:\libsvm322\matlab。
第三步:在命令行输入命令 make,此时在文件夹.../matlab中会出现带mexm64后缀的文件。
第四步:拷贝matlab文件夹中所有make出来的文件至D:\libsvm322\windows。
第五步:安装完成,使用数据集进行验证。
三、用heart_scale数据集测试出现的问题
1、load heart_scale; %matlab提示出错。
方法一:将数据转换为其他格式比如.mat、.txt等。
数据集下载:https://download.csdn.net/download/ckzhb/10458430
方法二:用libsvmread(‘heart_scale’),需将当前目录设置为数据所在目录。
使用方法:https://blog.csdn.net/ckzhb/article/details/72123557
2、训练函数报错
model = svmtrain(heart_scale_label,heart_scale_inst);
[predict_label,accuracy] = svmpredict(heart_scale_label,heart_scale_inst,model);
输入上面两句命令后,得到的accuracy为空。
解决办法:
安装版本为libsvm3.22,其中svmpredict的返回参数的形式有变化。将其改为
[predict_label,accuracy,decision_value] = svmpredict(heart_scale_label,heart_scale_inst,model);