Python 之 LIBSVM 使用小结(一)

本文介绍了在Python中使用LIBSVM的详细步骤,包括针对32位和64位Python环境的不同安装方法,以及如何进行简单的SVM训练和预测。通过svmutil模块的函数,如svm_train和svm_predict,实现数据读取、模型训练和评估。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1)从python官网上下载windows下的安装包python-2.7.3.msi并安装


2)打开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


3)如果你的python是64位的,也就是说打开IDLE(python GUI),输入
>>>import sys
>>>sys.version
出现如下字符:
'2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)]'
这时你需要首先自己编译64位的动态链接库libsvm.dll。方法如下:
在程序列表中的Microsoft Visual Studio 2010/Visual Studio Tools下找到Visual Studio x64 Win64 Command Prompt(2010),注意一定要是64位的command prompt
cd到LIBSVM所在文件夹libsvm-3.16
输入nmake -f Makefile.win clean all
这时libsvm-3.16的windows目录下将生成64位的动态链接库。将新生成的libsvm.dll复制到系统目录(例如`C:\WINDOWS\system32\')即可。


 =============================================================================
================================牛逼闪闪的分割线================================

 =============================================================================

4)简单SVM操作直接照此步骤实现。
打开IDLE
>>>import os
>>>os.chdir(‘C:\Program Files\libsvm-3.16\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)


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。


【后记】

如果(4)中代码出现 “ ImportError: No module named svmutil ” 报错 解决方式

详见:Python 之 LIBSVM 使用小结(二)

详址:http://blog.youkuaiyun.com/u013630349/article/details/47322303

AC 代码如下

import os
#os.chdir(‘C:\Program Files\libsvm-3.16\python’)
os.chdir("F:\\wfpdm\\20150727_1010\\libsvm\\libsvm-3.12\\python")
import sys
sys.path.append('F:\\wfpdm\\20150727_1010\\libsvm\\libsvm-3.12\\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)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值