我安装了libsvm工具箱,可是没有svmpredict函数,求助,急,谢谢各位大侠
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我安装了libsvm工具箱,可是没有svmpredict函数,求助,急,谢谢各位大侠相关的知识,希望对你有一定的参考价值。
我下载了很多版本的libsvm,可是都没有svmpredict这个函数,就算有,也是MATLAB MEX-file的文件,打不开,看了一下,好像是因为适合安装电脑是64位的,而我的电脑是32位的,各位大侠,谁帮我解决一下这个问题啊,或者把合适的libsvm工具箱发到我的邮箱里,谢谢了~~~~我邮箱lhjzxj@126.com
参考技术A 可能有用,添加路径,更新路径file——set pathfile------preference 参考技术B 虽然我不知道这个函数工具箱 不过你可以去网上找找 这个函数的源代码 应该是公开的 参考技术C 问下,这个svmpredict工具箱是用于预测的吗?如果是的话那我将来也要用到的。。 参考技术D 我的也没有,作者总找些偏僻的工具使用,害的我们到处找东西Linux下libsvm的安装及简单练习
引文:常常在看paper的时候。就看到svm算法,可是要自己来写真的是难于上青天呀!
所幸有一个libsvm的集成软件包给我们使用,这真的是太好了。以下简介下怎么来使用它吧!
LIBSVM是一个集成软件包。提供支持向量机分类(C-SVC,nu-SVC),回归(epsilon-SVR,nu-SVR)以及分布预计(one-class SVM).工具包支持多类分类问题。LIBSVM是台湾大学林智仁(LinChih-Jen)副教授等开发设计的一个简单、易于使用和高速有效的SVM模式识别与回归的软件包。
1.libsvm的下载
libsvm下载
libsvm下载地址:http://www.csie.ntu.edu.tw/~cjlin/libsvm/
数据集下载地址 http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/
说明:我自己是在windows下下载的,然后通过ftp软件将libsvm安装包上传到Linux下。
也能够在linux下使用wget来下载。
2.解压缩
解压缩到任一文件夹下,这里我解压到/home/xxxxxx/libsvm-2.91。/home/xxxxxx/是我的用户文件夹。xxxxxx是username。
tar –zxvf libsvm-3.20.tar.gz
官网上提供了软件包及各种其他工具的下载。
3.编译
拿到软件包的第一件事就是阅读README,面对“读我……读我”这么热情的呼唤你难道无动于衷?
On Unix systems, type make‘ to build the
svm-train’ and `svm-predict’
programs. Run them without arguments to show the usages of them.
进入到/home/xxxxxx/libsvm-3.20。输入命令
make
4.执行libsvm
下来解释一下libsvm的程序怎么用.你能够先拿libsvm 附的heart_scale来做输入,底下也以它为例,看到这里你应该也了解使用 SVM 的流程大概就是:
- 1.准备数据并做成指定格式 (有必要时需 svmscale)
- 2.用svmtrain来训练成 model
- 3.对新的输入,使用 svmpredic来预測新数据的类别
4.1 svm-train
svmtrain 的语法大致就是:
svm-train [options] training_set_file [model_file]
training_set_file 就是之前的格式,而 model_file 假设不给就会叫[training_set_file].model.options 能够先不要给。
下列程序执行結果会产生 heart_scale.model 文件:(屏幕输出不是非常重要,沒有错误就好了)
执行代码:
./svm-train heart_scale
输出结果
======================
optimization finished, #iter = 219
nu = 0.431030
obj = -100.877286, rho = 0.424632
nSV = 132, nBSV = 107
Total nSV = 132
======================
5.2 svm-predict
svmpredict 的语法是 :
svm-predict test_file model_file output_file
- (1)test_file就是我们要预測的数据,它的格式svmtrain的输入,也就是training_set_file是一样的,只是每行最前面的label能够省略(由于预測就是要预測那个label)。
但假设test_file有label的值的话,predict完会顺便拿predict出来的值跟test_file里面写的值去做比对,这代表:test_file写的label是真正的分类结果拿来跟我们预測的结果比对就能够知道预測的效果。所以我们能够拿原training set当做test_file再丟给svm-predict去预測(由于格式一样),看看正确率有多高,方便后面调參数.其他參数就非常好理解了
- (2)model_file就是svm-train出来的文件;
heart_scale.out:
执行代码
./svm-predict heart_scale heart_scale.model heart_scale.out
得到输出:
=====================================
Accuracy = 86.6667% (234/270) (classification)
Mean squared error = 0.533333 (regression)
Squared correlation coefficient = 0.532639(regression)
=====================================
以上是关于我安装了libsvm工具箱,可是没有svmpredict函数,求助,急,谢谢各位大侠的主要内容,如果未能解决你的问题,请参考以下文章
matlab 基于 libsvm工具箱的svm分类遇到的问题与解决
安装Libsvm工具箱出现问题E:\MATLAB7\BIN\WIN32\MEX.PL: Error: 'CFLAGS=\$CFLAGS -std=c99