libsvm怎么读(libsvm)

导读 你们好,最近小活发现有诸多的小伙伴们对于libsvm怎么读,libsvm这个问题都颇为感兴趣的,今天小活为大家梳理了下,一起往下看看吧。1、下

你们好,最近小活发现有诸多的小伙伴们对于libsvm怎么读,libsvm这个问题都颇为感兴趣的,今天小活为大家梳理了下,一起往下看看吧。

1、 下载libsvm的zip包,解压到一个文件夹就行了(随便什么D:\gjs\libsvm)。

2、

3、 Install python

4、 下载gnuplot,直接解压就好,不用安装(C:\gnuplot)。数据格式描述

5、 01: 5.12: 3.53: 1.44: 0.221: 4.92: 3.03: 1.44: 0.211: 4.72: 3.23: 1.34: 0.2 [Label] [Index 1]:[ Value 1][ Index 2]:[ Value 2].

6、 您可能需要自己转换训练和测试数据的格式。

7、 1.windows cmd命令窗口

8、 已下载libsvm包已经为我们编译好了(windows)。

9、 转到libsvm\windows,可以看到这些exe文件:

10、 1.SVM-预测:svmprecittest _ file mode _ file output _ file根据已经训练好的模型,输入新数据,输出预测的新数据的类别。

11、 2.svm-scale:有时候特征值波动范围比较大,需要对特征数据进行缩放,可以缩放到0-1(自己定义)。

12、 3.svm-toy:好像是图形界面,可以自己画点,自己生成数据。

13、 4. SVM-train: SVM train [option] train _ file [model _ file] train will accept input in a specific format and generate a model file.

14、 第一步:你可以自己生成数据,使用svm-toy:

15、 双击svm-toy,然后单击更改在画布上绘制点:

16、 点击运行,实际上是训练的过程,划分的区域:

17、 点击保存保存数据(假设保存的数据在d:/D://libsvm.txt中)。

18、 第二步:使用训练数据libsvm.txt进行建模,使用svm-train:

19、 使用cmd命令进入解压缩后的windows目录libsvm目录,并使用svm-train,如下所示:

20、 其中,

21、 #iter是迭代次数,

22、 Nu是您选择的核函数类型的参数。

23、 Obj是由SVM文件转换成的二次规划得到的最小值。

24、 是决策函数的偏差项b,

25、 NSV是标准支持向量的数量(0a[i]c),

26、 NBSV是边界上支持向量的数量(a[i]=c),

27、 Total nSV为支持向量总个数(对于两类来说,因为只有一个分类模型Total nSV=nSV,但是对于多类,这个是各个分类模型的nSV之和

28、 同时在该目录下会生成一个训练好的model(libsvm.txt.model)可以打开文件查看里面的内容,主要包括一些参数和支持向量等

29、 第三步:使用建好的model进行预测,使用svm-predict

30、 同时会生成一个输出文件(libsvm.txt.out),每行代表该行的预测值类别。

31、 参数优化:

32、 svm的参数优化很重要,libsvm包里面包含了参数的优化函数,主要是暴力求解参数。一般来说我们会使用高斯核函数,包含两个参数(c 和g)

33、 使用gird.py文件进行参数优化选择:

34、 grid.py在libsvm/tools里面,首先需要修改gird.py中的gnuplot文件路径问题,把文件里的路径改成gnuplot 存放的目录:

35、 进入grid.py的相应目录,执行grid.py D://libsvm.txt

36、 前面两个分别是c 跟g的值,这时候我们重新训练模型(加上参数c g)

37、 可以看到,准确率有了显著的提升, 其实这些步骤完全可以使用easy.py进行实现,同理也需要修改eays.py里面的gnuplot文件路径问题,把文件里的路径改成gnuplot 存放的目录:

38、 步骤总结如下:

39、 1.转换训练数据为相应的格式。

40、 2.有时候可能需要使用svm-scale对数据进行相应的缩放,有利于训练建模。

41、 3.使用grid.py或者easy.py进行参数优化。

42、 4.使用svm-train建模和svm-predict进行预测。

以上就是libsvm这篇文章的一些介绍,希望对大家有所帮助。

标签:

免责声明:本文由用户上传,如有侵权请联系删除!