SVM (一)Libsvm 在Python下的安装和使用



SVM (一)Libsvm 在Python下的安装和使用

第一步:确定本机Python的版本: 


       SVM (一)Libsvm 在Python下的安装和使用_第1张图片


 


如果你的python是32位,将出现如上图。windows32位的系统可以直接选择zip包,64位的只能通过第三方安装(后边有详解)。


第二步:到官网http://www.csie.ntu.edu.tw/~cjlin/libsvm/,来下载Libsvm软件zip包,如下所示:SVM (一)Libsvm 在Python下的安装和使用_第2张图片



第三步,将zip包解压到一个特定位置,我放到了C:盘根目录,当然也可以放到program files中


SVM (一)Libsvm 在Python下的安装和使用_第3张图片


 


 注意:

(1)如果你的python是32位,这个时候Libsvm的python接口设置将非常简单。在libsvm- 3.17文件夹下的windows文件夹中找到动态链接库libsvm.dll,将其添加到系统目录,如`C:\WINDOWS\system32\’,即可在python中使用libsvm


(2)如果你的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 x  64 Win64 Command Prompt(2010),注意一定要是64位的command prompt
cd到LIBSVM所在文件夹libsvm-3.17
输入nmake -f Makefile.win clean all
这时libsvm-3.17的windows目录下将生成64位的动态链接库。将新生成的libsvm.dll复制到系统目录(例如`C:\WINDOWS\system32\')即可。(下图中示例所用位libsvm-3.14版本)



 


第四步,在配置完Libsvm以后,就可以测试一下LibSVM是否可用了,打开Python IDE,输入以下代码:

SVM (一)Libsvm 在Python下的安装和使用_第4张图片


       能够看到输出,84%的分类准确性。


第五步,使用我的个人数据libsvm的数据格式如下:


 
            



第一列代表标签,第二列是第一个特征值,第三列是第二个特征值。所以,先要把数据按规定格式整理好。然后开始训练。


  1. import os
    import sys
  2. os.chdir('C:\libsvm-3.17\python')
  3. from svmutil import *
  4. y, x = svm_read_problem('../lkagain.txt')
  5. m = svm_train(y[:275], x[:275], '-c 5')
  6. y, x = svm_read_problem('../lk2.txt')
  7. p_label, p_acc, p_val = svm_predict(y[0:], x[0:], m)
  8. print p_label
  9. print p_acc
  10. print p_val



第六步,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.


 

本文参考了http://blog.csdn.net/lqhbupt/article/details/8599295,在此感谢xmjdh。

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


你可能感兴趣的:(svm)