Python使用libsvm库

来源:互联网 发布:js 关联数组 join 编辑:程序博客网 时间:2024/04/29 18:40

Python使用libsvm库

环境: win10 python-2.7.11 64位

1.     官网下载安装包https://github.com/cjlin1/libsvm

解压后如图


2. LibSVM文件夹的所有内容(上图)放入Python的包目录\Lib\site-packages或者工程目录中。

我的是D:\python-2.7.11\Lib\site-packages\libsvm

3. 在程序列表中的Microsoft VisualStudio 2015/Visual Studio Tools下找到Visual Studio x64本机命令工具提示符(注意一定要是64位的command prompt),双击该Command Prompt将会弹出命令行窗口,如图


输入nmake -f Makefile.win clean all。这时libsvmwindows目录下将生成64位的动态链接库,如下图


libsvm.dll添加到系统目录, `C:\WINDOWS\system32\‘

5. svm.py svmutil.py(如下图) 放在正在写的python代码工程文件夹内


或者,将其拷贝到系统安装的python包目录下,如(D:\python-2.7.11\Lib\site-packages\svm),然后配置python的环境变量并重启电脑。


6.  在python文件中使用from svmutil import *即可使用

例如:

from svmutil import *if __name__ == '__main__':  y, x = [1,-1], [{1:1, 2:1}, {1:-1,2:-1}]  prob  = svm_problem(y, x)  param = svm_parameter('-t 0 -c 4 -b 1')  model = svm_train(prob, param)  yt = [1]  xt = [{1:1, 2:1}]  p_label, p_acc, p_val = svm_predict(yt, xt, model)  print(p_label)


得到如下输出:

*

optimization finished, #iter = 1

nu = 0.062500

obj = -0.250000, rho = 0.000000

nSV = 2, nBSV = 0

Total nSV = 2

*

optimization finished, #iter = 1

nu = 0.062500

obj = -0.250000, rho = 0.000000

nSV = 2, nBSV = 0

Total nSV = 2

*

optimization finished, #iter = 1

nu = 0.062500

obj = -0.250000, rho = 0.000000

nSV = 2, nBSV = 0

Total nSV = 2

*

optimization finished, #iter = 1

nu = 0.062500

obj = -0.250000, rho = 0.000000

nSV = 2, nBSV = 0

Total nSV = 2

Model supports probability estimates, butdisabled in predicton.

Accuracy = 100% (1/1) (classification)

[1.0]

 

参考:

http://blog.csdn.net/m624197265/article/details/41894311

0 0
原创粉丝点击