在matlabR2010a下安装libsvm(window7)
为了检验 libsvm和matlab之间的接口是否已经完全配置成功,可以在matlab下执行以下命令。
1,先把自带的heart-scale数据集(总共有270个样本数据)放入D\libsvm\matlab目录下。
2,键入命令
>> [heart_scale_label,heart_scale_inst]=libsvmread('../heart_scale');
>> model_linear=svmtrain(heart_scale_label,heart_scale_inst,'-t 0');
出现
optimization finished, #iter = 1010
nu = 0.350371
obj = -92.473356, rho = -1.050690
nSV = 101, nBSV = 88
Total nSV = 101
那么说明libsvm和matlab之间的接口已经完全配置成功。
load heart_scale;
model=svmtrain(heart_scale_label,heart_scale_inst); [predict_label,accuracy]=svmpredict(heart_scale_label,heart_scale_inst,model);
*
optimization finished, #iter = 162
nu = 0.431029
obj = -100.877288, rho = 0.424462
nSV = 132, nBSV = 107
Total nSV = 132
Accuracy = 86.6667% (234/270) (classification)
在命令窗口中输入
load heart_scale;
此时需注意,libsvm 3.12中提供的是c++版本的数据集heart_scale,这里需要加载matlab版本的数据集。
这两个数据集有什么不同呢?
C++版本的数据集里面如果某一个样本的某一个特征为0,这个特征可以不写在数据集中,但是在matlab版本中,必须要写出来。
否则的话,会报这样一个错误:
此时你可以选择下载matlab型的数据集:http://download.csdn.net/detail/boruoshui/4881338
然后读取数据集
libsvmread('heart_scale');
完成该步骤后发现Workspace中出现了heart_scale_inst 和 heart_scale_label,说明正确。