Ubuntu + Python下libsvm使用小结

关于libsvm

libsvm是台湾大学林智仁(Chih-Jen Lin)教授等开发,它主要用于分类(支持二分类和多分类)和回归,主页主页,下载网站是链接,目前更新到3.23版本。

安装测试

我是在Ubuntu16.04环境下使用的
解压后目录如下:

针对Python,进入Python包,内容如下:

测试:
命令行输入:

import sys
sys.path.append('/home/thinkstation/liny/libsvm/python')
import svm

如果系统里是第一次使用libsvm,此时会报错 LIBSVM library not found
进入linsvm目录,命令行输入

make lib    / /得到 libsvm.so.2

本地目录下测试可直接使用

加入系统路径
加Python包下的.py文件放到/usr/lib/python2.7/dist-packages中,libsvm.so.2放到/usr/local/lib/python2.7中

使用

1.使用 a1a二分类数据集

链接
特征已经进行了处理,libsvm 数据格式如下:
在这里插入图片描述
可以看出,格式为:
类别 index:特征 index:特征 …

在这里插入图片描述

2.mnist数据集

libsvm官网数据集中的mnist数据
在这里插入图片描述
其中前两项数据没有经过scale,后两项没有经过scale
用未scale的数据训练测试:
训练了接近5个小时,-_-||
在这里插入图片描述
精度竟然这么低。。。。。
换上scale后的数据:
在这里插入图片描述
训练时间10分钟左右,精度0.94

3.猫狗二分类

:数据准备:猫狗图片各450张,大小 50*50,按照格式将每张图片转为一行,并将像素值归为0-1
在这里插入图片描述
准确率0.62,可能数据有点少吧。。。。
总之,作者写的很完善了,还在不断优化中。
感觉我们如果要使用的话,需要自己做的主要是数据、特征方面的处理等,高深一点的就研究并行

主要使用函数

svmutil.py中

  1. svm_load_model(model_file_name)
  2. svm_save_model(model_file_name, model)
  3. svm_train(arg1, arg2=None, arg3=None)
  4. svm_predict(y, x, m, options="")

commonutil.py中
1.svm_read_problem(data_file_name, return_scipy=False)//返回label与feature
2.evaluations(ty, pv, useScipy = True)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值