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

    需要使用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)




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值