0
点赞
收藏
分享

微信扫一扫

『linux笔记』Ubuntu16.04 + Python3.7下libsvm安装使用小结,附加:win10安装!


目录

​​一、libsvm的简单介绍​​

​​二、安装​​

​​三、测试​​

​​四、libsvm使用详细介绍 ​​

​​五、win10中安装libsvm介绍 ​​

一、libsvm的简单介绍

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

『linux笔记』Ubuntu16.04 + Python3.7下libsvm安装使用小结,附加:win10安装!_Machine Learning

二、安装

我是在Ubuntu16.04环境下使用的,下面是解压命令:

tar -xvzf libsvm-3.23.tar.gz  libsvm-3.23

『linux笔记』Ubuntu16.04 + Python3.7下libsvm安装使用小结,附加:win10安装!_matlab_02

『linux笔记』Ubuntu16.04 + Python3.7下libsvm安装使用小结,附加:win10安装!_matlab_03

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

『linux笔记』Ubuntu16.04 + Python3.7下libsvm安装使用小结,附加:win10安装!_Machine Learning_04

三、测试

  • 首先进入解压目录libsvm-3.23,执行make指令:结束后,重点关照这个libsvm.so.2文件:

(base) zhangkf@john:~/download/libsvm-3.23$ make

『linux笔记』Ubuntu16.04 + Python3.7下libsvm安装使用小结,附加:win10安装!_python_05

  • 再进入该目录下的python子目录,执行make指令。貌似没什么变化,该目录下有两个py文件会用的到。如图:

『linux笔记』Ubuntu16.04 + Python3.7下libsvm安装使用小结,附加:win10安装!_matlab_06

  • 找到你的Anaconda目录,进入/anaconda/lib/python3.7目录(根据自己的环境来选择),把两个py文件给拷贝过来。

(tf) zhangkf@john:~/download/libsvm-3.23/python$ cp svm.py /home/zhangkf/anaconda3/lib/python3.7
(tf) zhangkf@john:~/download/libsvm-3.23/python$ cp svmutil.py /home/zhangkf/anaconda3/lib/python3.7

  • libsvm.so.2复制到这个/home/zhangkf/anaconda3/lib目录,就是刚刚复制位置的上一层目录,把libsvm.so.2文件拷贝过来。

(tf) zhangkf@john:~/download/libsvm-3.23$ cp libsvm.so.2  /home/zhangkf/anaconda3/lib

  • 验证一下 

『linux笔记』Ubuntu16.04 + Python3.7下libsvm安装使用小结,附加:win10安装!_libsvm_07

四、libsvm使用详细介绍 

  • svmutil.py中

svm_load_model(model_file_name)
svm_save_model(model_file_name, model)
svm_train(arg1, arg2=None, arg3=None)
svm_predict(y, x, m, options="")

  • commonutil.py中

svm_read_problem(data_file_name, return_scipy=False)//返回label与feature
evaluations(ty, pv, useScipy = True)

  •  使用详细介绍

optimization finished, #iter= 162 //iter为迭代次数,
nu = 0.431029 //nu是你选择的核函数类型的参数
obj = -100.877288, rho =0.424462 //obj为SVM文件转换为的二次规划求解得到的最小值,rho为判决函数
//的偏置项b

nSV = 132, nBSV = 107 // nSV为标准支持向量个数(0<a[i]<c),nBSV为边界上的支持向量个数
//(a[i]=c)

Total nSV = 132 //TotalnSV为支持向量总个数(对于两类来说,因为只有一个分类模型
//TotalnSV = nSV,但是对于多类,这个是各个分类模型的nSV之和)。

五、win10中安装libsvm介绍 

  • 在​​\libsvm-3.23\matlab​​目录下,有一个README文件,详细说明了安装方法。
  • 如果是windows 64位系统,预编译的二进制文件已经提供,在​​\libsvm-3.23\windows​​文件下,可以看到4个文件,分别是libsvmread.mexw64、libsvmwrite.mexw64、svmtrain.mexw64、svmpredict.mexw64。
  • 这样可以跳过下面第一步的编译步骤。
  • 注意一点,使用下面的方法的时候测试时候文件需要下载一下heart_scale.mat文件放到libsvm目录下面。:链接:​​提取码:2gb4 ​​
  • 具体的方法可以参考链接:​​javascript:void(0)​​
  • 测试成功如下:

『linux笔记』Ubuntu16.04 + Python3.7下libsvm安装使用小结,附加:win10安装!_matlab_08

『linux笔记』Ubuntu16.04 + Python3.7下libsvm安装使用小结,附加:win10安装!_matlab_09

『linux笔记』Ubuntu16.04 + Python3.7下libsvm安装使用小结,附加:win10安装!_python_10

举报

相关推荐

0 条评论