近期需要使用到libsvm这个库,但是查了一下很多都是windows的安装,找了几篇博客尝试了一下mac的安装,但是都失败了,可能是我没有理解到作者的意思吧。后来仔细研究终于搞定了。我是在Pycharm上面使用的,所以我就按这个思路写一下:
现在网上下载libsvm.zip文件
然后终端进入libsvm文件夹
执行 一次make命令:make
终端进入libsvm->python文件夹 :cd python
在此执行一次make命令:make
现在已经成功编译libsvm,可以在libsvm文件夹中看见多出一个libsvm.so.2文件
前往/lib/python2.7/site-packages,将libsvm.so.2复制到这个文件夹中
在这个文件夹中创建libsvm文件夹
在libsvm中新建_init_.py文件,注意,不是init.py。
将下载的libsvm->python中的svm.py和svmutil.py复制到这个libsvm文件夹中
打开python IDE(我的是pycharm),就可以使用了
# coding=utf-8
from svm import *
from svmutil import *
y, x = [1, -1], [{1: 1, 2: 1}, {1: -1, 2: -1}]
prob = svm_problem(y, x)
param = svm_parameter('-t 0 -c 4 -b 1')
model = svm_train(prob, param)
yt = [1]
xt = [{1: 1, 2: 1}]
p_label, p_acc, p_val = svm_predict(yt, xt, model)
print(p_label)
这是我找的一个测试代码,运行结果如下:
optimization finished, #iter = 1
nu = 0.062500
obj = -0.250000, rho = 0.000000
nSV = 2, nBSV = 0
Total nSV = 2
Model supports probability estimates, but disabled in predicton.
Accuracy = 100% (1/1) (classification)
[1.0]