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。
相关文章
|
5天前
|
存储 人工智能 数据处理
Python:编程的艺术与科学的完美交融
Python:编程的艺术与科学的完美交融
19 1
|
2天前
|
Python
10个python入门小游戏,零基础打通关,就能掌握编程基础_python编写的入门简单小游戏
10个python入门小游戏,零基础打通关,就能掌握编程基础_python编写的入门简单小游戏
|
4天前
|
网络协议 Unix Python
Python编程-----网络通信
Python编程-----网络通信
8 1
|
5天前
|
JSON 数据格式 开发者
pip和requests在Python编程中各自扮演着不同的角色
【5月更文挑战第9天】`pip`是Python的包管理器,用于安装、升级和管理PyPI上的包;`requests`是一个HTTP库,简化了HTTP通信,支持各种HTTP请求类型及数据交互。两者在Python环境中分别负责包管理和网络请求。
33 5
|
5天前
|
存储 Python 容器
Python高级编程
Python集合包括可变的set和不可变的frozenset,用于存储无序、不重复的哈希元素。创建集合可使用{}或set(),如`my_set = {1, 2, 3, 4, 5}`。通过add()添加元素,remove()或discard()删除元素,如`my_set.remove(3)`。
16 0
|
5天前
|
测试技术 Python
Python模块化方式编程实践
【5月更文挑战第5天】Python模块化编程提升代码质量,包括:定义专注单一任务的模块;使用`import`导入模块;封装函数和类,明确命名便于重用;避免全局变量降低耦合;使用文档字符串增强可读性;为每个模块写单元测试确保正确性;重用模块作为库;定期维护更新以适应Python新版本。遵循这些实践,可提高代码可读性、重用性和可维护性。
44 2
|
5天前
|
测试技术 调度 索引
python编程中常见的问题
【4月更文挑战第23天】
34 2
|
5天前
|
网络协议 算法 网络架构
Python网络编程之udp编程、黏包以及解决方案、tcpserver
Python网络编程之udp编程、黏包以及解决方案、tcpserver
|
5天前
|
编解码 JavaScript 前端开发
【专栏】介绍了字符串Base64编解码的基本原理和在Java、Python、C++、JavaScript及Go等编程语言中的实现示例
【4月更文挑战第29天】本文介绍了字符串Base64编解码的基本原理和在Java、Python、C++、JavaScript及Go等编程语言中的实现示例。Base64编码将24位二进制数据转换为32位可打印字符,用“=”作填充。文中展示了各语言的编码解码代码,帮助开发者理解并应用于实际项目。
|
5天前
|
机器学习/深度学习 数据挖掘 算法框架/工具
Python:编程的艺术与魅力
Python:编程的艺术与魅力
25 3