1.前言

由于毕业设计需要用到libsvm,所以最近专心于配置libsvm,曾经尝试过在matlab中安装,但是没有成功。最终在Python环境中完成安装。

2.LIBSVM介绍

LIBSVM 是台湾大学林智仁(Lin Chih-Jen)教授等开发设计的一个操作简单、易于使用、快速有效的 SVM 软件包。可以解决分类问题(包括 C-SVC、n-SVC )、回归问题(包括 e-SVR、n-SVR )以及分布估计(one-class-SVM)等问题,提供了线性、多项式、径向基和 S 形函数四种常用的核函数供选择,可以有效地解决多类问题、交叉验证选择参数、对不平衡样本加权、多类问题的概率估计等。LIBSVM 不但提供了编译好的 Windows 系统执行文件,还提供了源代码,方便改进、修改以及在其它操作系统上应用。LIBSVM 最大的特点就是对 SVM 所涉及的参数调节相对比较少,提供了很多的默认参数,因而使用起来非常方便。SVM 用于模式识别或回归时, SVM 方法及其参数、核函数及其参数的选择,目前国际上还没有形成一个统一的模式, 也就是说最优 SVM 算法参数选择还只能是凭借经验、实验对比、大范围的搜寻或者利用软件包提供的交互检验功能进行寻优的功能。
LIBSVM 可以在 http://www.csie.ntu.edu.tw/~cjlin/libsvm/index.html#download 处免费获得。

3.LIBSVM的安装

3.1 下载libsvm安装包

下载地址:http://www.csie.ntu.edu.tw/~cjlin/libsvm/index.html#download
将下载好的libsvm进行解压,解压到适当的文件夹中,本人解压到了:D:\libsvm-3.22中。

3.2 对libsvm.dll进行适配处理

1.本人电脑使用的是win10 64位系统,python使用的是Python3.6.3(anaconda 3 5.0.1 64bit)版本,并且没有安装VS。所以到Python的一些网站上下载对应版本的libsvm。下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/#scikit-umfpack
2.由于本人python版本是3.6.3,操作系统是64位的,所以下载对应的libsvm为libsvm-3.22-cp36-cp36m-win_amd64.whl。
3.打开anaconda prompt,进入文件所在路径,使用pip安装libsvm-3.22-cp36-cp36m-win_amd64.whl。

pip install libsvm-3.22-cp36-cp36m-win_amd64.whl

4.安装成功后进入python目录下的一个文件夹site-packages下找到新生成的libsvm.dll。将其放置到C:\windows\system32。

3.3 配置path环境变量

将解压的libsvm文件夹下的tools和windows所在的路径D:\libsvm-3.22\tools和D:\libsvm-3.22\windows添加到path的环境变量中。

3.4 安装gnuplot

由于许多步骤需要调用 gnuplot 来绘制图形,所以首先需要安装 gnuplot。
下载地址: https://sourceforge.net/projects/gnuplot/files/gnuplot/
安装默认安装即可。记住安装路径,本人安装路径为D:\Program Files\gnuplot

3.5 修改easy.py和grid.py

在tools文件夹中的两个文件easy.py和grid.py中,有关gnuplot对应的路径需要更改。
在easy.py中设置

gnuplot_exe = r"D:\Program Files\gnuplot\bin\gnuplot.exe"

在grid.py中设置

self.gnuplot_pathname = r'D:\Program Files\gnuplot\bin\gnuplot.exe'

至此,Python版LIBSVM安装成功。

4.LIBSVM的简单使用

>>> import os
>>> os.chdir('D:\libsvm-3.22\python')
>>> 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)

参考链接:
http://baijiahao.baidu.com/s?id=1580049402237436090
http://xiaosheng.me/2016/06/06/article15/
http://blog.csdn.net/lqhbupt/article/details/8599295

转载来源:https://www.cnblogs.com/bbn0111/p/8318629.html

学习笔记24—win10环境下python版libsvm的安装的更多相关文章

  1. Go学习笔记(一):Ubuntu 环境下Go的安装

    本文是根据<Go Web 编程>,逐步学习 Ubuntu 环境下go的安装的笔记. <Go Web 编程>的URL地址如下: https://github.com/astaxi ...

  2. Django框架学习笔记(windows环境下安装)

    博主最近开始学习主流框架django 网上大部分的安装环境都linux的 由于博主在windows环境下已经有了 Pycharm编辑器 ,所以决定还是继续在windows环境下学习 首先是下载 链接 ...

  3. Window环境下Python和Django的安装

    转载地址:http://blog.csdn.net/haoni123321/article/details/7593821 1.下载python,本文使用python-2.7.2.msi 2.下载dj ...

  4. Oracle 学习笔记(Windows 环境下安装 + PL/SQL)

    Oracle 安装.PL/SQL 配置使用  前言:因更换机械硬盘为 SSD 固态硬盘装了新 Windows 7 系统,需要重新搭建开发环境,把 Oracle 安装过程和 PL/SQL 配置使用做下笔 ...

  5. 解决win10环境下python Selenuim调用Chrome时提示data 及Chrome正在受自动软件控制的方法

    用python自动访问谷歌浏览器时会出现data界面,很是烦人.在网上搜索,有说是因为webdriver和google版本不匹配导致的,就下过各种版本,结果都一样. 后来明白了,出现data的原因只是 ...

  6. GO语言学习笔记之Linux环境下安装GO语言

    0x00 安装环境和GO版本 本篇是源码安装,非使用包管理工具安装. # Centos 7.4 # GO v1.11.2 0x01 下载GO安装包 # wget https://dl.google.c ...

  7. 学习笔记:[算法分析]数据结构与算法Python版[基本的数据结构-上]

    线性结构Linear Structure ❖线性结构是一种有序数据项的集合,其中 每个数据项都有唯一的前驱和后继 除了第一个没有前驱,最后一个没有后继 新的数据项加入到数据集中时,只会加入到原有 某个 ...

  8. 学习笔记:[算法分析]数据结构与算法Python版

    什么是算法分析 对比程序,还是算法? ❖如何对比两个程序? 看起来不同,但解决同一个问题的程序,哪个" 更好"? ❖程序和算法的区别 算法是对问题解决的分步描述 程序则是采用某种编 ...

  9. Window环境下Python和Django的安装,以及项目的创建

    1.首先我们要下载python和Django,他们的下载地址如下 python地址:https://www.python.org/ Django地址:  https://www.djangoproje ...

随机推荐

  1. 【题解】Luogu P2319 [HNOI2006]超级英雄

    原题传送门 这道题就是一个很简单的二分图匹配 二分图匹配详解 一开始想的是2-sat和网络流,根本没想匈牙利和HK 这道题只要注意一点:当一个点匹配不成功之后就直接退出 剩下的就写个二分图最大匹配就行 ...

  2. 程序员编程艺术:面试和算法心得-(转 July)

    1.1 旋转字符串 题目描述 给定一个字符串,要求把字符串前面的若干个字符移动到字符串的尾部,如把字符串“abcdef”前面的2个字符'a'和'b'移动到字符串的尾部,使得原字符串变成字符串“cdef ...

  3. GDPR

    http://column.caijing.com.cn/20180523/4457753.shtml

  4. Spring 学习——Spring框架结构、概念

    maven项目结构 记忆:在一个项目中,project下一层级时src,也就是源文件,所有需要进行编译的文件都是在这个目录下,其实也就是这一个目录,然后向下扩展.在src目录下,存在main文件夹,里 ...

  5. Bootstrap3基础 form-control 圆角的输入框,光标放入后边框变色

      内容 参数   OS   Windows 10 x64   browser   Firefox 65.0.2   framework     Bootstrap 3.3.7   editor    ...

  6. repo回退当前分支下所有仓库到指定日期前的最新代码版本【转】

    本文转载自:https://blog.csdn.net/u011006622/article/details/70272087 执行下面这样的repo命令就行了:  repo forall -c 'c ...

  7. hihoCoder week1 最长回文子串

    题目链接 https://hihocoder.com/contest/hiho1/problem/1 做法 Manacher #include <bits/stdc++.h> using ...

  8. P4450 双亲数

    思路 同zap-queries 莫比乌斯反演的板子 数据范围小到不用整除分块... 代码 #include <cstdio> #include <algorithm> #inc ...

  9. 强化学习策略梯度方法之: REINFORCE 算法(从原理到代码实现)

    强化学习策略梯度方法之: REINFORCE 算法 (从原理到代码实现) 2018-04-01  15:15:42   最近在看policy gradient algorithm, 其中一种比较经典的 ...

  10. nsswitch & pam

    nsswitch & pam nsswitch是名称解析框架服务,pam是认证框架服务 对主机来说,有两个功能可能用到框架性服务 1.名称解析: name: id 2.认证服务:验证当前请求获 ...