您的位置:首页 > 编程语言 > MATLAB

如何在matlab中配置libvsm

2016-07-18 22:00 225 查看
a)     如何配置libvsm?

首先从网上(http://www.csie.ntu.edu.tw/~cjlin/libsvm/)下载SDK文件进行第一步配置。下载解压后就重复性的next。

b)     下载gnuplot(主http://www.gnuplot.info/),这个下载难度很大,我借助了手机翻墙出去下载了,但是安装后发觉它好像没有起到用处。

c)     解压libvsm到matlab的tools文件夹下,方便添加libvsm工具箱。

d)     配置过程遇到的问题:

i.   没有看清README文件,导致匆匆忙忙进行配置,降低效率。

ii.  没有将current folder调到合适的地方,导致配置无法正常进行。正确的current folder应该是:F:\ProgramFiles\MATLAB\R2016a\toolbox\libsvm-3.21\matlab

iii.  到正确的current folder后直接输入make,界面显示的是没有配置好的信息(具体是什么我忘了),这时应该输入mex -setup,但也出现问题



此时根据网上的教程,需要在直接在命令窗口上输入make,即可配置



此时需要验证配置是否成功,我当时直接抄了网上的例子,导致了失败,原因之一是没有将例子上的信息进行修改,[label_vector, instance_matrix] =libsvmread(‘heart_scale’);上面的“label_vector,
instance_matrix“需要改为“heart_scale_label,heart_scale_inst”还有r2016a版本还有不一样的函数方法,需要调整参数的输入。这个搞定完之后,遇到问题就是的就是无法读取heart_scale文件,解决的方法是将heart_scale文件复制到matlab文件夹下,然后再读入,即可解决问题。最后就是正确的代码了,

 

>>  [heart_scale_label, heart_scale_inst] =libsvmread('../heart_scale');

>>model = svmtrain(heart_scale_label, heart_scale_inst, '-c 1 -g 0.07');

*

optimizationfinished, #iter = 134

nu= 0.433785

obj= -101.855060, rho = 0.426412

nSV= 130, nBSV = 107

TotalnSV = 130

>>[predict_label, accuracy, dec_values] = svmpredict(heart_scale_label,heart_scale_inst, model); % test the training data

Accuracy = 86.6667% (234/270) (classification)



测试成功,一天的辛苦没白费!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: