如何在linux中libsvm与gunplot

如何在linux中libsvm与gunplot,第1张

1、下载:先到http://www.csie.ntu.edu.tw/~cjlin/libsvm/下载Linux下对版本tar.gz 。

2、解压缩:解压缩到任一目录下,这里我解压到/home/xxxxxx/libsvm-2.91。/home/xxxxxx/是我的用户目录,xxxxxx是用户名。

3、编译:进入到/home/xxxxxx/libsvm-2.91,输入命令make(即可完成安装,但有时候会出现下列错误)

g++ -Wall -Wconversion -O3 -fPIC -c svm.cpp

make: g++: Command not found

make: *** [svm.o] Error 127

4、错误解决:此错误为没有对应编译器,需要安装。

5、安装g++编译器:在终端输入命令 apt-get install g++

6、再编译:安装g++成功后,即可再编译,编译成功即可用libsvm

7、Libsvm使用

A.使用svm-train训练:在终端中输入./svm-train heart_scale

B.使用svm-predict预测:在终端输入./svm-predict heart_scale heart_scale.model out

heart_scale为test file, heart_scale.model是由svm-train训练出来对模型文件,out为预测输出文件。

8、如果想使用easy.py和grid.py更快的执行以上第7步骤的工作。因为Ubuntu中已经安装了python和gunplot,所以这两个软件对安装工作可以省略。进入/home/xxxxxx/libsvm-2.91/tools到目录后,只需要在终端中输入:

python easy.py /home/xxxxxx/libsvm-2.91/SYN /home/xxxxxx/libsvm-2.91/SYN2NMF

这里SYN为用来构建模型对训练文件;SYN2NMF为需要预测对文件

运行结果:

Best c=2.0, g=0.0078125 CV rate=77.45

Training...

Output model: SYN.model

Scaling testing data...

Testing...

Accuracy = 83.35% (1667/2000) (classification)

Output prediction: SYN2NMF.predict

关于Linux命令的介绍,看看《linux就该这么学》,具体关于这一章地址3w(dot)linuxprobe/chapter-02(dot)html

PS:在安装过程中,最好首先在终端中输入 sudo -i 切换为root用户模式,避免权限错误。

一般使用weka进行数据挖掘的时候会碰到两个问题,一是内存不够,二是libsvm使用不了,先把libsvm.jar下载后放到weka的安装目录下,然后这样解决比较方便:Windows:修改RunWeka.ini 文件里的 maxheap 到合适的大小,例如maxheap=1000m, 修改cp参数使libsvm可以使用,例如cp=%CLASSPATH%D:/Program Files/Weka-3-6/libsvm.jar(即加上libsvm存放的路径)。这样再启动weka上述的两个问题就解决了,不用去修改CLASSPATH环境变量,网上有些人就是说的罗嗦。Linux:先把weka.jar文件解压,然后可以新建一个脚本startWeka.sh到weka的安装目录下,然后加入如下命令:java -Xmx3000m -classpath weka.jar:libsvm.jar weka.gui.Main保存退出,然后在终端当前目录下使用./startWeka.sh即可。

疑惑应该主要在第1点,我的理解是这样的:

第1步的编译,依赖于Vlfeat, Cplex, GSL Cblas(可能用到了里面的文件,假设是a.h),因此直接编译的话是编译不过的,需要你给出这几个文件的路径,

然后编译器才能知道要去哪里找a.h,需要在makefile中加类似如下的信息:

MYINC=-I../../../util/ -I../../include/ -I../../../include/ \//这里面是Vlfeat, Cplex, GSL Cblas的路径

-I../test/ -I../../util/

而Vlfeat, Cplex, GSL Cblas是什么东西我就不清楚了,因为第1中要求modify,建议你把makefile给出来,有助于大家解答


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/5893759.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-06
下一篇 2023-03-06

发表评论

登录后才能评论

评论列表(0条)

保存