学习笔记24—win10环境下python版libsvm的安装
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的安装的更多相关文章
- Go学习笔记(一):Ubuntu 环境下Go的安装
本文是根据<Go Web 编程>,逐步学习 Ubuntu 环境下go的安装的笔记. <Go Web 编程>的URL地址如下: https://github.com/astaxi ...
- Django框架学习笔记(windows环境下安装)
博主最近开始学习主流框架django 网上大部分的安装环境都linux的 由于博主在windows环境下已经有了 Pycharm编辑器 ,所以决定还是继续在windows环境下学习 首先是下载 链接 ...
- Window环境下Python和Django的安装
转载地址:http://blog.csdn.net/haoni123321/article/details/7593821 1.下载python,本文使用python-2.7.2.msi 2.下载dj ...
- Oracle 学习笔记(Windows 环境下安装 + PL/SQL)
Oracle 安装.PL/SQL 配置使用 前言:因更换机械硬盘为 SSD 固态硬盘装了新 Windows 7 系统,需要重新搭建开发环境,把 Oracle 安装过程和 PL/SQL 配置使用做下笔 ...
- 解决win10环境下python Selenuim调用Chrome时提示data 及Chrome正在受自动软件控制的方法
用python自动访问谷歌浏览器时会出现data界面,很是烦人.在网上搜索,有说是因为webdriver和google版本不匹配导致的,就下过各种版本,结果都一样. 后来明白了,出现data的原因只是 ...
- GO语言学习笔记之Linux环境下安装GO语言
0x00 安装环境和GO版本 本篇是源码安装,非使用包管理工具安装. # Centos 7.4 # GO v1.11.2 0x01 下载GO安装包 # wget https://dl.google.c ...
- 学习笔记:[算法分析]数据结构与算法Python版[基本的数据结构-上]
线性结构Linear Structure ❖线性结构是一种有序数据项的集合,其中 每个数据项都有唯一的前驱和后继 除了第一个没有前驱,最后一个没有后继 新的数据项加入到数据集中时,只会加入到原有 某个 ...
- 学习笔记:[算法分析]数据结构与算法Python版
什么是算法分析 对比程序,还是算法? ❖如何对比两个程序? 看起来不同,但解决同一个问题的程序,哪个" 更好"? ❖程序和算法的区别 算法是对问题解决的分步描述 程序则是采用某种编 ...
- Window环境下Python和Django的安装,以及项目的创建
1.首先我们要下载python和Django,他们的下载地址如下 python地址:https://www.python.org/ Django地址: https://www.djangoproje ...
随机推荐
- Nginx和PHP上传文件大小的限制
Nginx client_max_body_size 80m; PHP php.ini file_uploads = on ; 是否允许通过HTTP上传文件的开关.默认为ON即是开 upload_tm ...
- Docker学习笔记之了解 Docker 的核心组成
0x00 概述 在掌握 Docker 的一些背景知识后,我们还不得不花费一节的篇幅来简单介绍有关 Docker 核心的一些知识.当然,大家不要觉得有“核心”这类的词,我们就要在这一节中深入 Docke ...
- Vue中的事件与常见的问题处理
Vue的事件:获取事件对象$event: 事件冒泡:事件会向上传播 原生js阻止事件冒泡,需要先获取事件对象,再调用stopPropagation()方法: vue事件修饰符stop,例@clik.s ...
- P3690 【模板】Link Cut Tree (动态树)
P3690 [模板]Link Cut Tree (动态树) 认父不认子的lct 注意:不 要 把 $fa[x]$和$nrt(x)$ 混 在 一 起 ! #include<cstdio> v ...
- JDK JRE JVM的区别
Jdk[Java Development ToolKit]就是java开发工具箱, JDK是整个JAVA的核心,里边包含了jre,它除了包含jre之外还包含了一些javac的工具类,把java源文件编 ...
- redis 配置详解
# redis 配置文件示例 # 当你需要为某个配置项指定内存大小的时候,必须要带上单位, # 通常的格式就是 1k 5gb 4m 等酱紫: # # 1k => 1000 bytes # 1kb ...
- direct加载之ora-39782一例
近日,我们有个环境在数据加载到oracle的时候出现ora-39782异常,版本是11.2.经google,几乎没有什么先例,因为我们是使用oci直接写的,可见现在还使用oci接口并不多,也或者我们的 ...
- alloc_skb申请函数分析
alloc_skb()用于分配缓冲区的函数.由于"数据缓冲区"和"缓冲区的描述结构"(sk_buff结构)是两种不同的实体,这就意味着,在分配一个缓冲区时,需要 ...
- CIL锁,GIL与线程池的区别,进程池和线程池,同步与异步
一.GIL锁 什么是GIL? 全局解释器锁,是加在解释器上的互斥锁 GC是python自带的内存管理机制,GC的工作原理:python中的内存管理使用的是应用计数,每个数会被加上一个整型的计数器,表示 ...
- 没有使用Material组件和使用了的对比
import 'package:flutter/material.dart'; void main() => runApp(new MyApp()); class MyApp extends S ...