LibSVM3.21使用笔记----for python3.4 配置

原创 2016年06月01日 13:55:59

    需要使用SVM做一个文本分类的项目,因此决定使用libsvm3.21,在win64上训练模型,android上做prediction分类,此文是为下次配置指导,防止本机doc丢失。

    本机环境: win10 64bit, python3.4, libsvm3.21 (http://www.csie.ntu.edu.tw/~cjlin/)

    android libsvm:  https://github.com/yctung/AndroidLibSvm 

   

  1. 安装python  (使用python3.4)

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

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

     

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

    在程序列表中的Microsoft Visual Studio 2012/Visual Studio Tools下打开VS2012 x64Cross ToolsCommand Prompt,注意一定要是64位的command prompt

    (此时,可能会遇到一个error:"ERROR Cannot determine the location of the VS CommonTools Folder    " 若是win7 64位系统,安装的是VS2012,解决此问题的方法是:在计算机环境变量中变量PATH添加c:\windows\system32,本人win10 64没有遇到此问题)

     

  3. DosLIBSVM所在文件夹libsvm-3.21

    输入nmake -f Makefile.win clean all

    这时libsvm-3.21 windows目录下将生成64位的动态链接库。将新生成的libsvm.dll复制到系统目录(例如`C:\WINDOWS\system32\')即可。

     

  4. 测试

    打开IDLE

    >>> from sys import path

    >>> path.append('D:\LIBSVM\libsvm-3.21\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. Accuracy = 84.2857% (59/70)(classification)

    搞定...

  6. Notes: svm_predict(datalabel, dataset, model)中datalabel and dataset至少得是list类型,不能是单值,因此如果是单个值的,需要转为matrix,例如对单个值x, y,应写成 svm_predict([y], [x], model)




版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

LIBSVM-3.18在python环境下的使用

1)从python官网上下载windows下的安装包python-2.7.3.msi并安装 2)打开IDLE(python GUI),输入 >>>import sys >>>sys.versio...

Python 之 LIBSVM 使用小结(三)

准备数据:一种方法是通过svm_read_problem方法直接读取libsvm格式的文件,返回分类标签([])和数据([[]])。如:labels, datas =svm_read_problem...

libsvm学习-1 libsvm-3.21在Python-3.4.4, Pycharm, windows环境下的安装过程

Libsvm学习-1Libsvm是实现svm很方便的一个工具。本文就将介绍一下libsvm-3.21在Python-3.4.4, Pycharm, windows环境下的安装过程。

查看python安装路径

python2的查看方法: import sys    print sys.path  python3: import sys    print (sys.path)

关于使用LIBSVM3.21过程中出现的问题

之前使用过libsvm,最近由于换了电脑,由原先的32位换成64位,所以重新安装了64位的matlab 2015b,打算使用最新的libsvm 3.21。 对于windows 64位的系统,libsv...

libsvm 训练后的模型参数讲解

本帖子主要就是讲解利用libsvm-mat工具箱建立分类回归模型后得到的 模型model里面参数的意义都是神马以及如果通过model得到相应模型的表达 式这里主要以分类问题为例子。 ...

LIBSVM-3.21在python下的使用

 本文源于SVM算法应用中实际遇到的问题。 算法实现的程序是按着麦好的《机器学习实践指南》自己敲的。 问题出现在第18行,找不到LibSvm这个库。 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)