python3.2+libsvm3.17的配置

来源:互联网 发布:校园网络建设招代理 编辑:程序博客网 时间:2024/05/17 09:08

想了解一下支持向量机这个东西,网上查阅后发现湾湾的libsvm倍受好评,于是赶紧下载下来。由于版本的原因的,根据网上搜索到的配置方法,都不能顺利启动,各种报错。后经不断尝试修改,终于搞定。具体过程如下:

ps:使用环境为win7 x64

1、下载相关软件。

  1. python3.2,安装目录:d:/Python32
  2. libsvm3.17,安装目录:D:\libsvm-3.17
  3. gp460win32,安装目录:D:\gnuplot

2、将D:\libsvm-3.17\tools文件夹下的easy.py和grid.py两个文件复制到D:\libsvm-3.17\Python\目录下

3、用任意编辑器打开新复制过来的这两个文件,做如下修改:

easy.py:

1、头部加入import subprocess

2、配置libsvm、gnuplot相关参数,设置好的内容如下:

if not is_win32: # 这部分不用改动svmscale_exe = "../svm-scale"svmtrain_exe = "../svm-train"svmpredict_exe = "../svm-predict"grid_py = "./grid.py"gnuplot_exe = "/usr/bin/gnuplot"else: #这部分需要修改:    # example for windowssvmscale_exe = "D:/libsvm-3.17/windows/svm-scale.exe"svmtrain_exe = "D:/libsvm-3.17/windows/svm-train.exe"svmpredict_exe ="D:/libsvm-3.17/windows/svm-predict.exe"gnuplot_exe = "D:/gnuplot/bin/pgnuplot.exe"grid_py = "D:/libsvm-3.17/python/grid.py"
3、将程序中所有Popen改为subprocess.Popen, 所有PIPE改为subprocess.PIPE


grid.py:

1、头部加入import subprocess

2、配置libsvm、gnuplot相关参数,设置好的内容如下:

if sys.platform != 'win32': #这部分不用改self.svmtrain_pathname = os.path.join(dirname, '../svm-train')self.gnuplot_pathname = 'D:/libsvm/gnuplot'else: #以下程序段需要改:# example for windowsself.svmtrain_pathname = os.path.join(dirname, r'D:/libsvm-3.17/windows/svm-train.exe')# svmtrain_pathname = r'c:\Program Files\libsvm\windows\svm-train.exe'self.gnuplot_pathname = r'D:/gnuplot/bin/pgnuplot.exe'
3、将程序中所有Popen改为subprocess.Popen, 所有PIPE改为subprocess.PIPE

4、使用libsvm中自带的数据进行测试

下载官方测试数据集:http://www.csie.ntu.edu.tw/~cjlin/papers/guide/data/,比如可以下载train.1, test.1,将其下载到D:/libsvm-3.17/python/目录下。

使用cmd打开此处,使用命令调用程序进行测试:

D:\libsvm-3.17\python>python easy.py train.1 test.1

执行过程如下:


其间还有会有动态变化的统计图表弹出:




0 0