- 浏览: 3558532 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (1491)
- Hibernate (28)
- spring (37)
- struts2 (19)
- jsp (12)
- servlet (2)
- mysql (24)
- tomcat (3)
- weblogic (1)
- ajax (36)
- jquery (47)
- html (43)
- JS (32)
- ibatis (0)
- DWR (3)
- EXTJS (43)
- Linux (15)
- Maven (3)
- python (8)
- 其他 (8)
- JAVASE (6)
- java javase string (0)
- JAVA 语法 (3)
- juddiv3 (15)
- Mule (1)
- jquery easyui (2)
- mule esb (1)
- java (644)
- log4j (4)
- weka (12)
- android (257)
- web services (4)
- PHP (1)
- 算法 (18)
- 数据结构 算法 (7)
- 数据挖掘 (4)
- 期刊 (6)
- 面试 (5)
- C++ (1)
- 论文 (10)
- 工作 (1)
- 数据结构 (6)
- JAVA配置 (1)
- JAVA垃圾回收 (2)
- SVM (13)
- web st (1)
- jvm (7)
- weka libsvm (1)
- weka屈伟 (1)
- job (2)
- 排序 算法 面试 (3)
- spss (2)
- 搜索引擎 (6)
- java 爬虫 (6)
- 分布式 (1)
- data ming (1)
- eclipse (6)
- 正则表达式 (1)
- 分词器 (2)
- 张孝祥 (1)
- solr (3)
- nutch (1)
- 爬虫 (4)
- lucene (3)
- 狗日的腾讯 (1)
- 我的收藏网址 (13)
- 网络 (1)
- java 数据结构 (22)
- ACM (7)
- jboss (0)
- 大纸 (10)
- maven2 (0)
- elipse (0)
- SVN使用 (2)
- office (1)
- .net (14)
- extjs4 (2)
- zhaopin (0)
- C (2)
- spring mvc (5)
- JPA (9)
- iphone (3)
- css (3)
- 前端框架 (2)
- jui (1)
- dwz (1)
- joomla (1)
- im (1)
- web (2)
- 1 (0)
- 移动UI (1)
- java (1)
- jsoup (1)
- 管理模板 (2)
- javajava (1)
- kali (7)
- 单片机 (1)
- 嵌入式 (1)
- mybatis (2)
- layui (7)
- asp (12)
- asp.net (1)
- sql (1)
- c# (4)
- andorid (1)
- 地价 (1)
- yihuo (1)
- oracle (1)
最新评论
-
endual:
https://blog.csdn.net/chenxbxh2 ...
IE6 bug -
ice86rain:
你好,ES跑起来了吗?我的在tomcat启动时卡在这里Hibe ...
ES架构技术介绍 -
TopLongMan:
...
java public ,protect,friendly,private的方法权限(转) -
贝塔ZQ:
java实现操作word中的表格内容,用插件实现的话,可以试试 ...
java 读取 doc poi读取word中的表格(转) -
ysj570440569:
Maven多模块spring + springMVC + JP ...
Spring+SpringMVC+JPA
libsvm与python的使用
由于课程和课题的原因,这两天试用了一下国立台湾大学Chih-Chung Chang和Chih-Jen Lin编写的libsvm函数库,发现的确是一款写得很不错的软件,而且上手也比较容易,用了一个晚上的时间基本搞定了libsvm的基本用法以及它和 python的接口,以下的内容均基于win32系统,尚未在Linux下尝试过。
首先我们需要下载libsvm,最新版是11月17日刚推出的libsvm2.83,可以在libsvm的主页http://www.csie.ntu.edu.tw/~cjlin/libsvm/ 上下载得到,建议同时下载一个libsvm的初学者guide,写得很不错,浅显易懂,适合初学者使用,基本的使用只需要libsvm这一个软件即可,但如果需要使用它自带的python脚本的话,还需要安装python,最新版是2.5,可以在python的主页http://www.python.org 上下载。另外,libsvm自带的两个脚本grid.py和easy.py中均用到了绘图工具gnuplot,因此还需要下载一个gnuplot软件,下载地址:ftp://ftp.gnuplot.info/pub/gnuplot/ ,注意要下载win32版本的,比如win32的4.0版本对应的文件应为gp400win32.zip。
下载完成后,接下来就是安装。其中只有python2.5需要安装(一般默认安装到c:\python25下),将libsvm解压到c: \libsvm下,将gnuplot解压到c:\gnuplot下。将c:\python25,c:\libsvm\windows,c: \gnuplot\bin三个文件夹添加到系统路径里面,方便日后使用。
安装完毕后,进入c:\libsvm\tools目录下,用文本编辑器(记事本,edit都可以)修改grid.py和easy.py两个文件,找 到其中关于gnuplot路径的那项,根据实际路径进行修改,并保存。然后我们可以下载guide文章里提到的那三个数据集作为实验数据集,也将其放在 tools目录下,在libsvm\tools下执行以下命令检验效果:
python easy.py train.1 test.1
如果弹出了gnuplot的窗口并可以看到动态的绘制图形的过程,那么恭喜你,实验成功!最后输出的结果应该和guide文章里提到的结果类似(当 然c和g的值有可能并不和文章里的相同,但最后在测试集上的错误率应该相差不大)。执行的过程中可能防病毒软件会弹出提示说rootshell之类的警 告,不必理会。
接下来我们研究一下libsvm和python的接口的问题,这个问题我自己也困扰了很久。首先,按照libsvm\python目录下的 readme文件所说,在win32环境下,我们要编译得到svmc.dll这个文件(细心的人会发现,libsvm已经在\libsvm \windows\python目录下自带了这个文件,但它可能是为其它的python版本编译的,为保险起见,我们尝试重新编译它),在libsvm目 录下键入如下命令(以vs.net2003为例,其它版本的c++编译器可能需要略微修改):
vcvars32
这个文件在C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\下,请确保这个路径在你的系统路径里面。此命令设置了VC++的环境变量。
键入以下命令:
nmake -f Makefile.win python
并将生成的libsvm\windows\python\svmc.dll文件复制到libsvm\python目录下,并改名svmc.pyd(非常重要!)。
在libsvm\python目录下键入以下命令以检验效果:
python svm_test.py
如果能看到程序执行结果,说明libsvm和python之间的接口已经配置完成,以后就可以直接在python程序里调用libsvm的函数了!
转自:http://yaowt.spaces.live.com/blog/cns!7280d7d3cc41a4ab!564.entry
如果你要用easy.py的话
1.下载libsvm
2.下载pathon。因为libsvm下载后的easy.py不能直接操作,需要python语言的支持
可以去http://www.python.org/ 或去网上搜索一下,默认安装
3.下载pgnuplot,一般大家下载的都是一个gp373w32文档,里面有直接可执行的pgnuplot.exe,不用安装。(以前在网上看 到的步骤都是“安装pgnuplot”这样的句子,让我这个菜鸟想了好久怎么把它安装到机子上,笨!)libsvm是用他完成绘图的
4.修改pgnuplot在grid.py中的路径(easy.py在执行的过程中要调用grid.py的)
,默认的gnuplot_exe = r"c:\tmp\gp373w32 \pgnuplot.exe",用ULtraEdit打开grid.py,修改成你自己pgnuplot.exe的路径
5.libsvm是在DOS环境中工作的,所以打开命令提示符,我的方法比较笨,先修改路径名到easy.py和grid.py所在的文件夹下,例如d:\livsvm\python
然后输入:c:\python23\python easy.py heart_scale 就可以了
上面我写的都没有说版本问题,因为libsvm好象有版本 兼容问题,一般如果用python24不行的话就把python24换成python23,如果还不行的话而你又是XP系统的话,换个别的机子换个系统试试,我曾经把各种组合试了一遍,才得出的吐血经验!
另外:如果还是不行的话,建议你在easy.py和grid.py中加入一些简单的输出语句看看是哪里的问题,python语言的输出语句很简单 如:在觉得有问题的句子前面加上 print '1',后面加上一句 print '2',看看是否1,2都能输出(不懂python语言,也只知道这些了)
发表评论
-
LibSvm结论参数
2011-11-23 08:37 3547本文转自Bluenight在《Libsvm 使 用 ... -
LIBSVM简介及其使用方法
2011-11-19 21:53 57977LIBSVM简介及其使用方法(台湾大学林智仁(Lin Chih ... -
LibSvm 使用说明 学习心得
2011-11-19 21:47 5062LibSvm 使用说明 学习心得 (本页内容来自互联网, ... -
libsvm-2.91中python接口的使用方法
2011-11-19 21:31 4231libsvm-2.91中python接口的 ... -
LibSvm python
2011-11-19 21:29 1804LibSvm python 调试实验 ... -
libsvm的使用
2011-11-18 22:00 1612http://hi.baidu.com/sjk2412/blo ... -
libsvm支持向量机C-SVM和NU-Svm的区别
2011-11-17 14:49 15742c-svc和 nu-svc本质差不多 c-svc中c的范围是 ... -
Weka LibSVM (WLSVM)
2011-11-16 20:09 2383Weka LibSVM (WLSVM): Integrat ... -
LibSvm---API
2011-11-16 14:35 2340http://java-ml.sourceforge.net/ ... -
LIBSVM使用心得(JAVA)
2011-11-16 14:33 4654libsvm 是著名的SVM开源组件,目前有JAVA.C/C ... -
LIBSVM使用心得
2011-11-16 14:31 4144首先下载Libsvm、Python和Gnuplot: l ... -
LIBSVM做回归预测
2011-11-16 14:26 2859LIBSVM做回归预测--终于弄通(原创) (2009- ...
相关推荐
- `libsvm`的Python接口允许用户使用Python语言方便地调用SVM模型。 - 提供了数据预处理、模型训练、预测等功能,简化了SVM的使用流程。 6. **使用示例** - 用户可以通过导入`svm`模块,创建`SVC`或`SVR`对象,...
**原因分析**:这通常是由于下载的LIBsvm版本与当前使用的Python版本不兼容导致的。 **解决方法**: - **查找合适的.whl文件**:访问https://www.lfd.uci.edu/~gohlke/pythonlibs/,根据您的Python版本查找相应的...
- **svmutil.py** 包含了一系列高级函数,这些函数的使用与 LibSVM 的 MATLAB 接口相似。主要包括: - `svm_train()`: 用于训练 SVM 模型。 - `svm_predict()`: 用于预测测试数据。 - `svm_read_problem()`: 读取...
python中使用libsvm库64位libsvm.dll文件.在64位系统下需要在C:\WINDOWS\system32\目录中放入此文件才运行成功demo演示。
6. **使用LibSVM**:在Python程序中,你可以导入`svm`模块来创建、训练和预测模型。例如,加载数据集,定义核函数,训练模型,然后对新数据进行预测。 ```python from sklearn import datasets from svmutil import...
在LibSVM 2.88中,对于Python用户,它提供了一个简洁易用的接口,使得在Python环境中进行SVM模型训练和预测变得简单。通过`import libsvm`,用户可以快速地加载数据,构建模型,并进行预测。此外,LibSVM还支持多...
本文旨在详细介绍如何在 Python 环境下使用 `libSVM` 进行模型训练与预测,并通过具体的步骤演示整个过程。 #### 二、环境搭建 1. **Anaconda 安装** - 首先,下载并安装 Anaconda 至指定位置,例如 `E:\Anaconda...
在本教程中,我们将探讨如何使用Python编程语言和LibSVM(一个流行的SVM库)来实现这一功能。SVM,即支持向量机(Support Vector Machine),是一种强大的机器学习模型,尤其适用于分类问题,如验证码识别。 首先,...
安装python版的libsvm,具体参照http://blog.csdn.net/m624197265/article/details/41894261就可以了
**安装与使用** 要在Python 2.7环境中安装libsvm,用户可以通过命令行运行以下命令: ```bash pip install libsvm-3.21-cp27-none-win_amd64.whl ``` 安装完成后,用户可以导入`pylibsvm`模块,按照libsvm的API来...
在libsvm-3.16的python文件夹下主要包括了两个文件svm.py和svmutil.py。 svmutil.py接口主要包括了high-level的函数,这些函数的使用和LIBSVM的MATLAB接口大体类似 svmutil中主要包含了以下几个函数: svm_train...
6. **安装与使用**:在Python环境中,用户可以通过pip安装`scikit-learn`库,其中已经集成了LIBSVM的功能。或者,也可以直接下载LIBSVM源码并配置环境,手动导入库文件。 7. **模型优化**:LIBSVM库提供了参数调优...
libsvm(Library for Support Vector Machines)是一个广泛应用于机器学习领域的开源软件库,主要用于支持向量机(SVM)的建模与预测。SVM是一种强大的分类和回归工具,它能够处理线性和非线性问题,并在许多领域如...
在Python环境中,你可以通过`import svm`来使用libsvm的功能。 再者,gp373w32可能指的是gfortran的32位版本。gfortran是GCC的一部分,用于编译Fortran代码。在某些情况下,libsvm的编译可能依赖于Fortran编译器,...
LibSVM不仅提供了C/C++接口,还支持Python绑定,使得Python开发者可以方便地在Python环境中使用SVM。Python接口通常通过swig工具生成,允许用户直接在Python脚本中调用SVM的训练和预测函数,简化了机器学习流程。 *...
本主题聚焦于使用Python编程语言和libsvm库来实现多分类算法,特别是针对模式识别问题。 libsvm(Library for Support Vector Machines)是由Chih-Chung Chang和Chih-Jen Lin开发的开源工具,它提供了广泛的支持...
在Python中使用LIBSVM,首先需要安装相应的库。通常,我们可以使用pip来安装,命令如下: ``` pip install scikit-learn ``` 虽然名为scikit-learn,但这个库包含了对LIBSVM的封装。然后,我们可以通过sklearn的svm...
python3 编写的使用libsvm包进行数据分类训练以及预测等,包含了一份训练数据、测试数据以及数据格式转换的代码