Python下的LibSVM的使用-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

Python下的LibSVM的使用

简介:    毋庸置疑,LibSVM是台湾牛人为世界机器学习的卓越贡献之一。一般都是基于Matlab的,其实LibSVM也可以用Python跑。    第一步,确定本机Python的版本:    32位的最易配置,哈哈,我的机器就是这么的古董。

   毋庸置疑,LibSVM是台湾牛人为世界机器学习的卓越贡献之一。一般都是基于Matlab的,其实LibSVM也可以用Python跑。
   第一步,确定本机Python的版本:
   32位的最易配置,哈哈,我的机器就是这么的古董。64位的童鞋请Google。

   第二步,到官网http://www.csie.ntu.edu.tw/~cjlin/libsvm/,来下载LibSVM软件包,我选择的是zip包。

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

   第四步,就可以测试一下LibSVM是否可用了,打开Python IDE,输入以下代码:
   能够看到输出,84%的分类准确性。

    第五步,使用我的个人数据
   libsvm的数据格式如下:
   第一列代表标签,第二列是第一个特征值,第三列是第二个特征值。所以,先要把数据按规定格式整理好。然后开始训练。
  1. import os
  2. import sys

  3. os.chdir('C:\libsvm-3.17\python')
  4. from svmutil import *

  5. y, x = svm_read_problem('../lkagain.txt')
  6. m = svm_train(y[:275], x[:275], '-c 5')

  7. y, x = svm_read_problem('../lk2.txt')
  8. p_label, p_acc, p_val = svm_predict(y[0:], x[0:], m)
  9. print p_label
  10. print p_acc
  11. 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。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章
最新文章
相关文章