`
endual
  • 浏览: 3566531 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

LIBSVM做回归预测

    博客分类:
  • SVM
 
阅读更多

LIBSVM做回归预测--终于弄通(原创)

(2009-04-07 23:31:59)

看了网上很多帖子和博客,自己琢磨了很久到现在才弄明白怎么用libsvm来做预测。因为网上的帖子一般都是转来转去的,所以第一个人感觉这样写详细了, 之后的人不管懂不懂照搬不误,这就苦了我们笨的人啦。不过我研究了一天,终于有点眉目,写点体会,应该会比较详细吧,至少是过来人碰到的问题。

 

p.s.这里暂且不讨论分类问题,其实分类比预测简单,下载下来的libsvm-2.88早已有easy.py可以直接拿来做,所以简单,一步到位,之后如果有空就写写!

 

用libsvm做回归的人有的疑惑大致有这些:

1,怎么把数据整理成规定格式,我以前的帖子写了,只要用一个带有宏的excel就能搞定,话不多说。

2,有人会说svm就打几条命令就能得出结果

svm-train -s 3 -t 2 -c 1024.0 -g 0.0009765625 -p 0.0009765625 data.txt
svm-predict test.txt data.txt.model out.txt

),干嘛还要下载python和gnuplot呢,其实了解svm理论的知道最核心的问题就是参数的选择,你不可能每次都很狗屎的猜到很好的参数,做出很好的预测,所以只能用这两个软件来寻参。

3,怎么寻参?核心的语句就这么一句,把dos框的路径调到C:\Python26,再键入

(python C:\libsvm-2.88\python\gridregression.py -svmtrain C:\libsvm-2.88\windows\svm-train.exe -gnuplot C:\gnuplot\bin\pgnuplot.exe -log2c -10,10,1 -log2g -10,10,1 -log2p -10,10,1 -v 10 -s 3 -t 2 C:\libsvm-2.88\python\data.txt > gridregression_data.parameter)能把这句执行下去,就算等老半天也是值得的。(下载的三个软件的路径调整问题下面补充,我是全部放在C盘的,省事。。。)

4,有人会问含有gridregression.py的以上语句不能执行老是出错,这是什么原因呢?我也闷了半天,后来才知道gridregression.py 文件在台湾人的libsvm-2.88包里面是没有的,所以要自己去下载,要来后放在C:\libsvm-2.88\python里面就可以了。

5,回归会像分类那样调用easy.py(连grid.py都不需)一步到位麽?不是的这是有区别的,当你做完步骤四时,到C:\Python26中打开文件 gridregression_data.parameter,里面有你要的参数c,g,p还有一个mse是没有用的,不用管他。

6,最后把dos框的路径调到C:\libsvm-2.88\windows,再执行

svm-train -s 3 -t 2 -c 1024.0 -g 0.0009765625 -p 0.0009765625 data.txt
svm-predict test.txt data.txt.model out.txt

搞定了,结果在C:\libsvm-2.88\windows的out.txt中!

7,忘了,三个软件长什么样和住哪里没有和你们说清楚,操之过急了哈。分别在

C:\libsvm-2.88

C:\Python26

C:\gnuplot

这样应该详细了吧。。。

 

 

最后附上步骤3中的补充,其实还是想自己写,因为这样清楚,不过没力气了,转一下吧,网上帖子稍有不同,不过我选了一篇很清楚的:

首先我们需要下载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路径的那项,根据实际路径进行修改,并保存。
用gridregression.py搜索最优参数的方法如下:
python.exe gridregression.py -svmtrain H:\SVM\libsvm-2.81\windows\svmtrain.exe -gnuplot C:\gp373w32\pgnuplot.exe -log2c -10,10,1 -log2g -10,10,1 -log2p -10,10,1 -v 10 -s 3 -t 2 H:\SVM\libsvm-2.81\windows\feature.scaled > gridregression_feature.parameter

注意:-svmtrain是给出svmtrain.exe所在路径,一定要是完整的全路径
-gnuplot是给出pgnuplot.exe所在路径。这里要用pgnuplot.exe这种命令行形式的,不要用wgnupl32.exe,这个是图形界面的。
-log2c是给出参数c的范围和步长
-log2g是给出参数g的范围和步长
-log2p是给出参数p的范围和步长
上面三个参数可以用默认范围和步长
-s选择SVM类型,也是只能选3或者4
-t是选择核函数
-v 10 将训练数据分成10份做交叉验证。默认为5
http://old.blog.edu.cn/user2/huangbo929/archives/2007/1714763.shtml
分享到:
评论

相关推荐

    LIBSVM做回归预测.

    在LIBSVM中,进行回归预测主要涉及到以下关键知识点: 1. **SVM回归**:与分类任务类似,SVM也可以用于回归预测,其中目标变量是连续的。LIBSVM支持ε-SVR(ε-Support Vector Regression)模型,这是一种损失函数...

    用LIBSVM做回归和预测的步骤

    下面将详细介绍如何使用LIBSVM进行回归和预测的步骤。 首先,确保你已经下载了LIBSVM库,以及相关的工具,例如Python和Gnuplot。这里推荐的版本是LIBSVM 2.8.1,Python 2.4,以及Gnuplot 3.7.3。特别是Gnuplot,...

    基于支持向量机libsvm的回归预测分析

    在本项目中,我们关注的是其在回归预测中的应用,具体是使用了libsvm库来构建模型。Libsvm是由Chih-Chung Chang和Chih-Jen Lin开发的一个开源软件包,它为SVM提供了丰富的功能,包括训练、测试和调优,适用于各种...

    利用libsvm做回归分析的一个小例子-by faruto

    Matlab利用libsvm做回归分析的一个小例子-by faruto

    一个实例搞定libsvm回归

    "一个实例搞定libsvm回归(《Learn SVM Step by Step》by faruto2011系列视频-应用篇).pdf"文件很可能是教程文档,详细解释了上述步骤,并可能提供了视频教程链接,帮助你更直观地理解LSSVM的实现过程。文档中可能...

    svm.rar_matlab libSVM回归

    在这个名为“svm.rar”的压缩包中,包含的是使用**MATLAB**语言实现的**libSVM**库进行回归分析的源代码和相关数据。libSVM是由Chih-Chung Chang和Chih-Jen Lin开发的一个开源工具包,它为SVM提供了高效的实现,并...

    libsvm-3.24_svm预测_SVM回归预测_svm回归_libsvm数据_libsvm3.24安装_源码

    在标题中提到的“SVM回归预测”,指的是使用SVM进行回归任务,即预测连续值而非离散类别的问题。SVM通过构建一个超平面来最大程度地分离不同类别的数据点,而在回归中,它寻找的是一个决策边界,能够最小化预测值与...

    libsvm回归分析

    libsvm回归分析,这里做的是损伤预测 测试与预测均在里面

    基于支持向量机的数据回归预测(libsvm) (Matlab完整程序和数据)

    在本主题中,我们关注的是其在回归预测中的应用,具体是通过libsvm库在Matlab环境中实现。libsvm是由台湾大学的Chih-Chung Chang和Chih-Jen Lin开发的,是一个开源的支持向量机库,它不仅支持分类任务,还提供了处理...

    004-基于支持向量机(libsvm)的数据回归预测

    在这个主题中,“004-基于支持向量机(libsvm)的数据回归预测”聚焦于如何利用libsvm库进行数据的回归预测。libsvm是由台湾大学的Chih-Chung Chang和Chih-Jen Lin开发的一个开源软件,它提供了SVM的实现,支持多种...

    libsvm实例

    LibSVM(Library for Support Vector Machines)是陈嘉澍教授开发的一个开源软件库,主要用于支持向量机(SVM)的学习与预测。它包含了训练和测试SVM模型的工具,广泛应用于各种机器学习任务,如分类、回归和异常...

    基于支持向量机的数据回归预测(libsvm)MATLAB代码

    在本主题中,我们将探讨如何利用MATLAB中的libsvm库进行数据回归预测。libsvm是由Chih-Chung Chang和Chih-Jen Lin开发的一个开源软件,它实现了SVM算法,支持多种操作系统,并且可以方便地与其他编程语言接口。 SVM...

    libsvm-2.9.rar_LibSVM_SVM vc_VC svm_libsvm 回归_vc libsvm

    LibSVM,全称为“Library for Support Vector Machines”,是由陈嘉澍教授及其团队开发的...同时,对于那些对回归任务特别感兴趣的开发者,这个版本的LibSVM提供了回归功能,可以帮助他们解决各种连续数值预测的问题。

    libsvm-3.21_svm预测_svm回归_数据归一化_SVM_

    在机器学习领域,支持向量机...libsvm库提供了强大的工具,帮助我们实现这一过程,是进行SVM预测和回归分析的重要资源。在实际应用中,还需要根据数据特性调整SVM的参数,以及选择合适的归一化方法,以优化模型性能。

    matlab编写的支持向量程序,主要由于预测libsvm-2.81

    支持向量机(Support Vector Machine,SVM)是一种在机器学习领域广泛应用的监督学习模型,其主要任务包括分类和回归。Matlab作为一种强大的数学计算软件,提供了实现SVM的工具箱,使得用户能够方便地构建和支持向量...

    libsvm_LibSVM_

    LibSVM不仅限于分类,还可以用于回归任务(SVR,Support Vector Regression),通过最小化预测误差来拟合数据。 8. **实战示例** 在实际项目中,通常需要结合其他工具,如scikit-learn(Python)或Weka(Java),...

    libsvm-3.20_LibSVM_libsvm3.20_

    LibSVM,全称为“Library for Support Vector Machines”,是由台湾大学林智仁教授开发的一款开源软件,用于支持向量机(Support Vector Machine, SVM)的训练和预测。这个工具包支持多种编程语言,包括C、Java、...

    libsvm-3_preparegdn_支持向量机预测径流_LibSVM_源码.rar

    支持向量机(Support Vector Machine,简称SVM)是一种强大的机器学习算法,广泛应用于分类和回归任务,包括在环境科学中的径流预测。LibSVM是陈启峰教授开发的一款开源的SVM工具包,它为用户提供了实现SVM的简洁...

Global site tag (gtag.js) - Google Analytics