目录
一、libsvm的简单介绍
二、安装
三、测试
四、libsvm使用详细介绍
五、win10中安装libsvm介绍
一、libsvm的简单介绍
libsvm是台湾大学林智仁(Chih-Jen Lin)教授等开发,它主要用于分类(支持二分类和多分类)和回归,主页老师主页链接,下载网站是下载链接,目前更新到3.23版本。
二、安装
我是在Ubuntu16.04环境下使用的,下面是解压命令:
tar -xvzf libsvm-3.23.tar.gz libsvm-3.23
针对Python,进入Python包,内容如下:
三、测试
- 首先进入解压目录libsvm-3.23,执行make指令:结束后,重点关照这个libsvm.so.2文件:
(base) zhangkf@john:~/download/libsvm-3.23$ make
- 再进入该目录下的python子目录,执行make指令。貌似没什么变化,该目录下有两个py文件会用的到。如图:
- 找到你的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
- 验证一下
四、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)
- 测试成功如下: