文档章节

SVM学习笔记(2)LIBSVM在python下的使用

mickelfeng
 mickelfeng
发布于 2017/01/19 11:34
字数 500
阅读 91
收藏 0

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)一个小例子
打开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。

本文转载自:http://blog.csdn.net/lqhbupt/article/details/8599295

mickelfeng

mickelfeng

粉丝 237
博文 2785
码字总数 604219
作品 0
成都
高级程序员
私信 提问
MATLAB安装libsvm工具箱的方法

支持向量机(support vector machine,SVM)是机器学习中一种流行的学习算法,在分类与回归分析中发挥着重要作用。基于SVM算法开发的工具箱有很多种,下面我们要安装的是十分受欢迎的libsvm工...

东聃
2018/08/12
0
0
python下使用libsvm:计算点到超平面的距离

最近在看的资料里涉及到计算 点到支持向量机分类超平面的距离 这一点内容,我使用的svm是libsvm。 由于是新手,虽然看了一些资料,但中英转换误差等等原因导致经常出现理解错误,因此对libsv...

小梳子一直走
2014/03/17
2.7K
0
LibSvm使用说明和LibSvm源码解析

kernel_type rbf //训练采用的核函数类型,此处为RBF核gamma 0.0769231 //RBF核的参数γnr_class 2 //类别数,此处为两分类问题total_sv 132 //支持向量总个数rho 0.424462 //判决函数的偏置...

haoji007
2018/05/13
0
0
sparkmlib的sample_binary_classification_data.txt 和sample_libsvm_data.txt内容怎么换成实际项目内容

sample_binary_classification_data.txt 和sample_libsvm_data.txt的内容怎么理解和使用 sparkmlib的sample_binary_classification_data.txt 和sample_libsvm_data.txt内容怎么换成实际项目内......

知行合一1
2017/09/30
176
0
关于SSLM分类器代码的实现

有一篇文章,SSLM small sphere large margin,是一个关于SVDD修改的分类器,不过根据文章中用来解答这个分类器的是用的LIBSVM V-SVM里面的函数,应该是v-svc里面的solve把。我有试着修改了一...

库尔Lee斯特
2016/11/21
143
0

没有更多内容

加载失败,请刷新页面

加载更多

Excption与Error包结构,OOM 你遇到过哪些情况,SOF 你遇到过哪些情况

Throwable 是 Java 中所有错误与异常的超类,Throwable 包含两个子类,Error 与 Exception 。用于指示发生了异常情况。 Java 抛出的 Throwable 可以分成三种类型。 被检查异常(checked Exc...

Garphy
今天
5
0
计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
昨天
6
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
昨天
7
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
昨天
6
0
【技术分享】TestFlight测试的流程文档

上架基本需求资料 1、苹果开发者账号(如还没账号先申请-苹果开发者账号申请教程) 2、开发好的APP 通过本篇教程,可以学习到ios证书申请和打包ipa上传到appstoreconnect.apple.com进行TestF...

qtb999
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部