linuxlibsvmpython
① libsvm使用python寻优的错误信息syntaxerror: invalid syntax是什么意思
没对齐。
仔细检查一下,是不是多了或少了一个空格
② 如何在Windows7上安装Libsvm Python
方法/步骤
1
首先去python官网下载Python2.79安装程序,或者不知道官网地址的话,你也可以在网络下搜索python-2.7.9.msi安装文件
2
在python官网上点击Downloads按钮,选择"Python2.7.9"按钮,在弹出对话框中点击“保存”按钮
3
点击下载好的python2.7.9安装文件
在安装软件窗口,点击"Next>"按钮
选择相应的安装目录,这里我选择的是默认安装目录C:\Python27,点击"Next>"按钮
注意,这里一定要选择安装这个组件Add python.exe to Path 选项,点击"Next>"按钮
安装完成后会出现以下提示信息
接下来要为python2.7.0配置Path环境变量
点击桌面上的计算机图片,右击选择属性->选择高级系统设置
选择环境变量按钮
选择Path选项,点击"编辑",弹出窗口,在变量值框输入C:\Python27;
在开始菜单里输入cmd,按下键盘上的回车键
在命令行窗口中输入以下命令:python,按下键盘上的回车键,显示出python版本信息,到了这里,就成功的安装了python了!
③ 如何利用python使用libsvm
一:libsvm包下载与使用:
,
1.
把包解压在C盘之中,如:C:\libsvm-3.18
2.
因为要用libsvm自带的脚本grid.py和easy.py,需要去官网下载绘图工具gnuplot,解压到c盘
3.
进入c:\libsvm\tools目录下,用文本编辑器(记事本,edit都可以)修改grid.py和easy.py两个文件,找到其中关于gnuplot路径的那项,根据实际路径进行修改,并保存
4python与libsvm的连接(参考SVM学习笔记(2)LIBSVM在python下的使用 )
a.打开IDLE(python GUI),输入
>>>import sys
>>>sys.version
如果你的python是32位,将出现如下字符:
‘2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)]’
这个时候LIBSVM的python接口设置将非常简单。在libsvm-3.16文件夹下的windows文件夹中找到动态链接库libsvm.dll,将其添加到系统目录,如`C:\WINDOWS\system32\’,即可在python中使用libsvm
b.如果你是64位的请参考文献,请参考上述连接。
5.执行一个小例子
import os
os.chdir('C:\libsvm-3.18\python')#请根据实际路径修改
from svmutil import *
y, x = svm_read_problem('../heart_scale')#读取自带数据
m = svm_train(y[:200], x[:200], '-c 4')
p_label, p_acc, p_val = svm_predict(y[200:], x[200:], m)
##出现如下结果,应该是正确安装了
optimization finished, #iter = 257
nu = 0.351161
obj = -225.628984, rho = 0.636110
nSV = 91, nBSV = 49
Total nSV = 91
Accuracy = 84.2857% (59/70) (classification)
④ 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.
⑤ 求助,关于libsvm的运算结果分类精度
这个问题挺复杂的。 表面上看是libsvm导入出错了。
但是还有另外一个原因,就是数据的格式不太对。 解析出错了。
第三个原因就是python里计算的精度比较高。 而借助了libsvm后数据的精度变低了。
你说的准确率应该是算法结果的准确率。 按理,数据导入时精度变低应该影响不大。
所以很大可能是数据导入错误,或者是算法错误。
⑥ linux系统libsvm可以单独进行机器学习吗
没看懂你的问题,如果你是想在linux下用libsvm进行SVM算法的话,这个是可以的,因为libsvm提供了java和python的工具包,这两个都是跨平台的!
⑦ 如何下载libsvm python
下载libsvm python的方法:
1、访问“www.csie.ntu.e.tw/~cjlin/libsvm/”网页,下载zip格式的数据包
2、将文件解压到python的site-packages文件夹中就可以了
更多Python知识,请关注:Python自学网!!
⑧ python调用libSVM异常,svm_save_model(modelName,model)。总说第一个参数类型错误
可以看看python文件夹下面的README。第一个参数是:保存model的文件名,字符串类型。第二个参数就是svm_train返回的model。
README里面有详细的例子。按照你的错误,
model_file_name是字符串类型吗?检查一下就行吧