Ⅰ 如何加速基于python的libsvm速度
if not is_win32: svmtrain_exe = "../svm-train" gnuplot_exe = "/usr/bin/gnuplot" else: gnuplot_exe = "/usr/bin/gnuplot"这一行少了一个TAB键。建设你把所有行前面的空格跟TAB删除后重新打上空格或TAB键。
Ⅱ 如何利用python使用libsvm
准备工具
libsvm软件包;
电脑;
步骤操作
把包解压在C盘之中,如:C:libsvm-3.18;
用libsvm自带的脚本grid.py和easy.py,需要去官网下载绘图工具gnuplot,解压到c盘;
进入c:libsvm ools目录下,用文本编辑器(记事本,edit都可以)修改grid.py和easy.py两个文件,找到其中关于gnuplot路径的那项,根据实际路径进行修改,并保存;
Ⅲ 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.
Ⅳ matlab 下用libsvm 数据导入之后,导致准确率很低。但是在python下运行准确率很高。谢谢!
这个问题挺复杂的。 表面上看是libsvm导入出错了。
但是还有另外一个原因,就是数据的格式不太对。 解析出错了。
第三个原因就是python里计算的精度比较高。 而借助了libsvm后数据的精度变低了。
你说的准确率应该是算法结果的准确率。 按理,数据导入时精度变低应该影响不大。
所以很大可能是数据导入错误,或者是算法错误。
Ⅳ 如何利用python使用libsvm
把包解压在C盘之中,如:C:\libsvm-3.182.
因为要用libsvm自带的脚本grid.py和easy.py,需要去官网下载绘图工具gnuplot,解压到c盘.进入c:\libsvm\tools目录下,用文本编辑器(记事本,edit都可以)修改grid.py和easy.py两个文件,找到其中关于gnuplot路径的那项,根据实际路径进行修改,并保存
python与libsvm的连接(参考SVM学习笔记(2)LIBSVM在python下的使用)
1.打开IDLE(pythonGUI),输入>>>importsys>>>sys.version
2.如果你的python是32位,将出现如下字符:
(default,Apr102012,23:31:26)[MSCv.150032bit(Intel)]’
这个时候LIBSVM的python接口设置将非常简单。在libsvm-3.16文件夹下的windows文件夹中找到动态链接库libsvm.dll,将其添加到系统目录,如`C:\WINDOWS\system32\’,即可在python中使用libsvm
wk_ad_begin({pid : 21});wk_ad_after(21, function(){$('.ad-hidden').hide();}, function(){$('.ad-hidden').show();});
3.执行一个小例子
importos
os.chdir('C:\libsvm-3.18\python')#请根据实际路径修改
fromsvmutilimport*
y,x=svm_read_problem('../heart_scale')#读取自带数据
m=svm_train(y[:200],x[:200],'-c4')
p_label,p_acc,p_val=svm_predict(y[200:],x[200:],m)
##出现如下结果,应该是正确安装了optimizationfinished,#iter=257nu=0.351161
obj=-225.628984,rho=0.636110nSV=91,nBSV=49
TotalnSV=91
Accuracy=84.2857%(59/70)(classification)