前言
在刚刚学习机器学习内容的时候,就给了自己很清晰的定位“未想有所成,只想有所用”。因为机缘巧合接触的机器学习,假期想学习的内容里面需要安装libsvm包,在翔翔的远程帮助和及其懈怠的状态下,我按照以下步骤在五分钟之内解决了安装libsvm包的时候出现的问题。(前提是你在Anaconda找不到libsvm的包)
环境、所用到的软件及其版本
win 10
Anaconda3_5.5.0
python 3.6
Visual Studio 2013
(当然这个不在我电脑上=v=,感兴趣地可以按照我之后给的链接在本机运行一下)
PyCharm 2017.2.3
libsvm环境配置
以下文件路径仅仅是我电脑中的,如果存放的位置不一样,请自行调整
- 因为电脑装VS之后出现了点问题,所以不能按照林智仁LIBSVM python包的安装与使用这个链接中64位机的解决方法。就直接用了翔翔发给我的libsvm.dll。将相关链接中的“用vs2013运行过的libsvm.dll”下载好直接放在C:\Windows\System32下即可。
Tips:或者在Anaconda离线包的链接中下载,按照“林智仁LIBSVM python包的安装与使用”进行操作。当时在页面不能直接找到VS的Prompt快捷方式,打开D:\develop\Visual Studio\Common7\Tools\Shortcuts中的VS2013 x64 本机工具命令提示进行nmake操作。 直接将libsvm文件夹中python下的 svmutil.py和svm.py两个文件复制粘贴到D:\develop\Anaconda\Lib下
在python环境下测试是否安装成功
(1) 输入测试代码from svmutil import * y, x = svm_read_problem('../heart_scale') m = svm_train(y[:200], x[:200], '-c 4') p_label, p_acc, p_val = svm_predict(y[200:], x[200:], m)
(2) 测试代码结果输出:
optimization finished, #iter = 257 nu = 0.351161 obj = -225.628984, rho = 0.636110 nSV = 91, nBSV = 49 Total nSV = 91 Accuracy = 84.2857% (59/70) (classification)
libsvm使用方法-非常简易版本
- svm_train函数
这里用的是彭亮视频中的例子from svmutil import * x = [[1,1], [2,0], [2,3]] y = [0, 0, 1] clf = svm_train(y, x, '-s 0 -t 0')
- 相关参数解释说明
x是特征向量
(在这里,x必须是list或者是tuple,因为svm_train函数第二个参数传入时限定了,如果不是的话,会有报错)
y是特征向量对应的标记
clf是分类器
‘-s 0 -t 0’是option,详情请见LIBSVM详细介绍和使用方法 - svm_predict函数
from svutil import * x = [[1,1], [2,0], [2,3]] y = [0, 0, 1] x1 = [[1,1], [2,0]] y1 = [0, 1] svm_predict(y1, x1, clf)
相关链接
林智仁LIBSVM python包的安装与使用
Anaconda离线包
LIBSVM详细介绍和使用方法
用vs2013运行过的libsvm.dll 密码:aiu7
libsvm-3.22 离线包 密码:gbpl