libsvm python Linux Ubuntu下编程操作实践

1.下载压缩包,压缩包解压后,有几个有用的东西,python中的svm.py和svmutil.py,tools中的四个文件(easy.py,grid.py,subset.py,checkdata.py)还有外面的makefile与几个c源文件。这几个文件用来生成可执行文件的呦。直接在该文件的目录下执行make就可以生成三个可执行文件。

这时会提示出错:无g++的话,就要先在安装g++,apt-get install g++

所有都搞定后,拷贝生成的三个可执行文件,tools中的文件,python中的文件去一个新的工程文件夹,我们要开始创建工程啦

2先编写代码搞定数据啦,这个跟网上其他的数据差不多啦,我们编写的代码中需要传入的数据格式是两个list,分别为label的list和训练数据形成的list。另外训练g和c参数时候调用grid。py时需要的数据为label index:data index :data \n这样的文件。这里的index是从1开始的哦,从0考试会返回错误:找不到rate。总之数据的收集自己根据需要写啦,也可以从网上找一些测试数据

3训练参数g与c,这个就是调用grid.py这个代码啦,

但是grid.py代码里面有个文件,是那四个可执行文件的地址啦,这个需要改一下,因为我们把文件都移出来了嘛

if sys.platform != 'win32':
 21             self.svmtrain_pathname ='/home/bond/python/svm/svm-train'
 这个地址就是直接写上你的生成的svm-train可执行文件的地址啦

训练方法 执行python grid.py 文件名  该文件就是上面收集的按那种index顺序排列的数据的文件啦,这时会返回最佳的g与c哦

4编写代码,训练数据,返回成功率啦,我贴上我的代码好了

1 from svmutil import *

  2 from svmfunc import *
  3 
  4 #wordset,wordlist=getfile('sample.positive.txt','sample.negative.txt')
  5 #gettestfile('test.label.cn.txt',wordset,wordlist)
  6 
  7 
  8 wordmat,label,wordlist,wordset=getlist('sample.positive.txt','sample.negativ    e.txt')
  9 print 'svm_problem'
 10 prob=svm_problem(label,wordmat)
 11 print 'svm_parameter'
 12 param=svm_parameter('-t 2 -s 2 -c 32.0 -g 0.0078125')
 13 print 'svm_train'
 14 m=svm_train(prob,param)
 15 print 'gettestinfo'
 16 linelist,labellist=gettest('test.label.cn.txt',wordset,wordlist)
 17 print 'svm_predict'
 18 res=svm_predict(labellist,linelist,m)
 19 print 'svm_save_model'
 20 svm_save_model('Model_Face',m)
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值