Python安装libsvm
最近在学习机器学习,听的是浙大胡浩基老师的课。胡老师用的是MatLab,我平时用Python比较多,在网上找Python安装libsvm的教程发现比较少,花了几个小时终于成功安装了libsvm,现在记录一下安装的过程。
【PS:代码小白一枚,如有表述不严谨的地方,多多包涵~】
1、查看自己Python安装的版本
在Pycharm中查看Python版本。
import sys
print(sys.version)
【我的Python版本是3.9.0,64位的】,这个在之后挑选libsvm版本时会用到。
2、下载libsvm
在“万能包网站”(www.lfd.uci.edu/~gohlke/pyt… )找到对应自己Python版本的libsvm版本,这里的"cp"后面对应Python版本,也有32或64位可供选择,【比如我要选择的是"libsvm-3.25-cp39-cp39-win-amd64.whl"】,下载到指定的保存路径。
![](https://i-blog.csdnimg.cn/blog_migrate/f7ea7449ae09658043fb67500f780a96.png)
3、升级pip
打开cmd,检查当前pip版本,输入:
pip show pip
若显示黄字:"You are using pip version a.b.c, however version x.y.z is available.",即表明你的pip当前版本是a.b.c,若要使用pip,需要升级到x.y.z版本。
接下来就是升级pip。在cmd中输入:
python -m pip install --upgrade pip
出现"Successfully..."即表明升级成功,也可以重复上述步骤检查当前pip版本,应为升级后的版本。
也可以指定pip升级的版本,如指定升级为22.3.1版本。
python -m pip install --upgrade pip==22.3.1
4、安装libsvm
找到自己Python安装的位置,并打开Python安装路径下的Lib\site-packages文件夹【我的路径是:D:\AppInstall\Python3.9\Lib\site-packages】,将上述我们下载好的libsvm.whl文件【我的是"libsvm-3.25-cp39-cp39-win-amd64.whl"】复制到此路径下。在cmd中输入:
pip install ...Python安装路径...\Lib\site-packages\libsvm-对应的版本-.whl
【我的是:pip install D:\AppInstall\Python3.9\Lib\site-packages\libsvm-3.25-cp39-cp39-win-amd64.whl】
安装成功之后会在刚刚打开的site-packages文件夹中生成"libsvm"和"libsvm-3.25.dist-info"两个文件夹。
5、将生成的"libsvm"文件夹移至Pycharm项目目录中
找到使用Pycharm中需要使用libsvm项目的保存路径,例如要使用libsvm的项目是“项目一”,打开“...项目一的保存路径...\venv\Lib\site-packages”,将安装好libsvm.whl后生成的"libsvm"文件夹复制到此路径下。这里注意,第4步中我们是在Python的安装路径下的"site-packages"文件夹中,现在我们是在Pycharm保存的项目路径中的"site-packages"文件夹中。
![](https://i-blog.csdnimg.cn/blog_migrate/79e923efc30970085da42829c91bea05.png)
6、在Pycharm中安装numpy
我在Pycharm中测试使用libsvm时,发现Pycharm报错“no module named 'numpy'”,在Pycharm中安装了numpy之后就能正常使用了。
在Pycharm最底下找到"Python Packages",在搜索栏搜索"numpy",此时右边会出现"install"按钮,点击即可安装numpy。
![](https://i-blog.csdnimg.cn/blog_migrate/4374f5931c3380696709ab1ae2be1a15.png)
7、测试安装效果
进行完上述步骤之后,libsvm就能使用啦,这里的测试代码使用的是这篇文章中的测试代码:zhuanlan.zhihu.com/p/92536814
from libsvm.svmutil import *
from libsvm.svm import *
y, x =[1,-1],[{1:1,2:2},{1:1,2:0}]
prob = svm_problem(y, x)
param = svm_parameter('-t 0 -c 4 -b 1')
model = svm_train(prob, param)
yt = [1]
xt = [{1:2,2:3}]
p_label, p_acc, p_val = svm_predict(yt, xt, model)
print(p_label)
如果程序正常运行了,那么恭喜你成功安装了libsvm,接下来继续愉快地研究机器学习吧!