libsvmpythonlinux
⑴ 如何在linux中libsvm与gunplot
1、下载:先到http://www.csie.ntu.e.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用户模式,避免权限错误。
⑵ 求助,关于libsvm的运算结果分类精度
这个问题挺复杂的。 表面上看是libsvm导入出错了。
但是还有另外一个原因,就是数据的格式不太对。 解析出错了。
第三个原因就是python里计算的精度比较高。 而借助了libsvm后数据的精度变低了。
你说的准确率应该是算法结果的准确率。 按理,数据导入时精度变低应该影响不大。
所以很大可能是数据导入错误,或者是算法错误。
⑶ 如何下载libsvm python
下载libsvm python的方法:
1、访问“www.csie.ntu.e.tw/~cjlin/libsvm/”网页,下载zip格式的数据包
2、将文件解压到python的site-packages文件夹中就可以了
更多Python知识,请关注:Python自学网!!
⑷ python下使用libsvm能处理数据格式为复数(complex)的数据吗
毋庸置疑,LibSVM是台湾牛人为世界机器学习的卓越贡献之一。一般都是基于Matlab的,其实LibSVM也可以用Python跑。
第一步,确定本机Python的版本:
32位的最易配置,哈哈,我的机器就是这么的古董。64位的童鞋请Google。
第二步,到官网http://www.csie.ntu.e.tw/~cjlin/libsvm/,来下载LibSVM软件包,我选择的是zip包。
第三步,将zip包解压到一个特定位置,我放到了C:盘根目录,当然也可以放到program files中。
第四步,就可以测试一下LibSVM是否可用了,打开Python IDE,输入以下代码:
能够看到输出,84%的分类准确性。
第五步,使用我的个人数据
libsvm的数据格式如下:
第一列代表标签,第二列是第一个特征值,第三列是第二个特征值。所以,先要把数据按规定格式整理好。然后开始训练。
import os
import sys
os.chdir('C:\libsvm-3.17\python')
from svmutil import *
y, x = svm_read_problem('../lkagain.txt')
m = svm_train(y[:275], x[:275], '-c 5')
y, x = svm_read_problem('../lk2.txt')
p_label, p_acc, p_val = svm_predict(y[0:], x[0:], m)
print p_label
print p_acc
print p_val
第六步,Python接口
在libsvm-3.16的python文件夹下主要包括了两个文件svm.py和svmutil.py。
svmutil.py接口主要包括了high-level的函数,这些函数的使用和LIBSVM的MATLAB接口大体类似
svmutil中主要包含了以下几个函数:
svm_train() : train an SVM model
svm_predict() : predict testing data
svm_read_problem() : read the data from a LIBSVM-format file.
svm_load_model() : load a LIBSVM model.
svm_save_model() : save model to a file.
evaluations() : evaluate prediction results.
⑸ 如何利用python使用libsvm
准备工具
libsvm软件包;
电脑;
步骤操作
把包解压在C盘之中,如:C:libsvm-3.18;
用libsvm自带的脚本grid.py和easy.py,需要去官网下载绘图工具gnuplot,解压到c盘;
进入c:libsvm ools目录下,用文本编辑器(记事本,edit都可以)修改grid.py和easy.py两个文件,找到其中关于gnuplot路径的那项,根据实际路径进行修改,并保存;
⑹ libsvm使用python寻优的错误信息syntaxerror: invalid syntax是什么意思
没对齐。
仔细检查一下,是不是多了或少了一个空格
⑺ linux系统libsvm可以单独进行机器学习吗
没看懂你的问题,如果你是想在linux下用libsvm进行SVM算法的话,这个是可以的,因为libsvm提供了java和python的工具包,这两个都是跨平台的!
⑻ python调用libSVM异常,svm_save_model(modelName,model)。总说第一个参数类型错误
可以看看python文件夹下面的README。第一个参数是:保存model的文件名,字符串类型。第二个参数就是svm_train返回的model。
README里面有详细的例子。按照你的错误,
model_file_name是字符串类型吗?检查一下就行吧