LIBSVM在python下的使用

1)安装 Python,直接去官方网站

2)运行“cmd”,直接输入python,查看python是32位还是64位

2.1  若python是32位的,则在libsvm-3.22文件夹下的windows文件夹中找到动态链接库libsvm.dll),将其添加到系统目录,如`C:\WINDOWS\system32\’,即可在python中使用libsvm

2.2  若python是64位的,则需要首先自己编译64位的动态链接库libsvm.dll。方法如下:

在VS安装目录下寻找VS2013 x64 本机工具命令提示

Dos到LIBSVM所在文件夹libsvm-3.22(小白错了好多次...)

输入nmake -f Makefile.win clean all
这时libsvm-3.22的windows目录下将生成64位的动态链接库。将新生成的libsvm.dll复制到系统目录(例如`C:\WINDOWS\system32\')即可。
libsvm-3.22中的 svmutil.py复制到python安装目录下的Lib文件中。

 
3)测试
打开IDLE
>>>import os
>>>os.chdir('G:\Code\libsvm-3.22\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)
Accuracy = 84.2857% (59/70) (classification)


5)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.
svm.py接口主要包括了一些low-level的应用。在svm.py中采用了python内置的ctypes库,由此python可以直接访问svm.h中定义的C结构和接口函数。svm.py主要运用了四个数据结构svm_node, svm_problem, svm_parameter和svm_model。

猜你喜欢

转载自blog.csdn.net/u013137131/article/details/79713768