原创 LIBSVM回归详细操作步骤

2013-12-17 22:43 1945 16 17 分类: 软件与OS

P.S. 多谢“三月未央”网友的提醒,本文中的一些错误得到改正,原先的第五幅图中路径有错(估计那晚太困了,稀里糊涂的就写出来了,实为害人啊LIBSVM回归详细操作步骤(附图)--更新至20090806)!再次感谢你们的关注,希望在交流中一起进步!修改和增加部分已经用红色字体区分了,还有就是第五章图,估计以前做错的人不少,不要怪我!LIBSVM回归详细操作步骤(附图)--更新至20090806LIBSVM回归详细操作步骤(附图)--更新至20090806LIBSVM回归详细操作步骤(附图)--更新至20090806 先前的一些步骤可以参照我《科研-支持向量机(SVM)预测》中的几篇,包括文件格式等。

晚上一网友发来消息说还是不清楚怎么做,老出错,现在有点闲功夫,截了一些图按部就班的做了,希望能看懂。

其实只要修改一个文件(gridregression.py)的路径就可以了,其他网上说的两个文件(grid.py和easy.py)的路径可以不做修改,因为回归根本没有用到。修改的地方是绿色的两行路径,写成实际路径就可以了。网上下载下来的一般都是r"...svm-..."所以要改。修改后如下图。

LIBSVM回归详细操作步骤(附图)--更新至20090806

改完之后,首先把你的数据集包括data2和test2(这是原始的)放到C:\libsvm-2.88\windows下。

LIBSVM回归详细操作步骤(附图)--更新至20090806

现在要做的就是真正意义上的第一步,归一化处理,这一步要做,希望不要为了简便不做,这样预测出来不准。具体在dos下调完路径后,执行下面两句,分别是归一化数据集和测试集后产生新的两个文件data和test。

至于路径的问题,很多不涉及计算机专业的网友很痛苦,经常会不知所措。不过我再多嘴一次:先输入字母cd,大小写都无所谓了,然后空格,之后就是你想要让dos去运行的地址(路径)。可以老老实实的手打,也可以复制C:\libsvm-2.88\windows,然后粘贴,dos框下Ctrl+V无效,只能鼠标右击选择粘帖。最后按一回车键就把路径调到C:\libsvm-2.88\windows下了。

LIBSVM回归详细操作步骤(附图)--更新至20090806

现在C:\libsvm-2.88\windows中多了两个文件,其实还有一个scale,不用管他,不起作用!

LIBSVM回归详细操作步骤(附图)--更新至20090806

现在是通过gridregression.py函数进行参数寻优,把路径调好,注意调到C:\Python25下了。输入下面的语句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\windows\data.txt > gridregression_data.parameter,可能你要等很长时间,我的数据很多搞了一个晚上。

有天早上一个朋友说你昨晚这么晚回来,早上怎么7点就上线了啊qq,汗,电脑一夜跑这玩意儿。。。扯远了。

PS.命令很长可以选择上述方法复制后,在dos框中右击粘贴完成。当然有热心的新浪网友的建议:(这么长的命令在dos下敲很容易出错的,建议大家在相应目录下建立一个bat文件,如“py.bat",把相应命令拷贝过去,直接运行"py",这样就省事多了。希望博主把这方法加到你的博文里。),我还没有试过。

LIBSVM回归详细操作步骤(附图)--更新至20090806

训练完后,在C:\Python25中会有一个gridregression_data.parameter文件,里面就是自动寻优的结果,主要也是为了这个东西,搞了我老半天nnd。

LIBSVM回归详细操作步骤(附图)--更新至20090806

打开它,下面最后一行分别为c,g,p,mse。其中mse没有用,其实这个值越小越好。

P.S. 有网友回复说:data训练时的mse=88.1545,而test测试时mse=401.938(他的数据结果),其实data训练的mse不是越小越好,过小以后,会形成过学习情况。其实严格意义上说是test的mse越小越好,因为它越小,最终的预测精度越高。另外,还可以通过squared correlation coefficient判断,它越接近1,也说明预测的精度越高。这是我做过many数据试验的吐血结果,望与大家分享。

LIBSVM回归详细操作步骤(附图)--更新至20090806

把刚才的3个参数用来进行训练svm模型。把路径重新调回C:\libsvm-2.88\windows,输入语句训练,会在C:\libsvm-2.88\windows里产生一个data.txt.model文件。训练好了紧接着对test文件预测,输入第二条语句,得出结果在out里面。

LIBSVM回归详细操作步骤(附图)--更新至20090806

LIBSVM回归详细操作步骤(附图)--更新至20090806

LIBSVM回归详细操作步骤(附图)--更新至20090806

最后打开out和test文件比较一下结果差多少,自己去计算咯。

LIBSVM回归详细操作步骤(附图)--更新至20090806

到此已经实现了libsvm软件做回归预测的全过程,个人认为已经很详尽,比网上任何帖子都清楚哈哈。哪里不清楚的希望大家一起讨论~~

文章评论1条评论)

登录后参与讨论

用户377235 2016-5-29 11:31

博主,我在寻优的时候发生错误,错误发生在Gridregression.py程序,路径我改过了,请问博主是.py文件有问题吗
相关推荐阅读
用户51033 2013-12-17 22:53
使用宏命令FormatDataLibsvm.xls将数据转成LIBSVM格式
http://blog.sina.com.cn/s/blog_5980835e0100dioo.html 毕业设计做的是svm,虽然不是很新的东西,但是能把它弄懂也是好的。要加一点技术含量无非...
用户51033 2013-12-17 22:50
LIBSVM做回归预测--终于弄通
http://blog.sina.com.cn/s/blog_5980835e0100dp52.html 看了网上很多帖子和博客,自己琢磨了很久到现在才弄明白怎么用libsvm来做预测。因为网上的帖子...
用户51033 2012-03-10 21:06
关于RS232/RS422/RS485总线的抗干扰的措施
2011-07-27 21:48 原文:http://hi.baidu.com/%B5%E7%D7%D3%C2%F8%CD%B7/blog/item/2b9d2c8e51bfd72466096e4...
用户51033 2012-02-18 22:06
高边和低边电流检测技术分析
当代电子系统中的电源管理可以通过高效的电源分配优化系统效率。电流检测是电源管理的关键技术之一,它不仅有助于保持理想的电压等级,而且能通过提供伺服调整保持电子系统处于正常状态,同时还能防止发生...
用户51033 2012-02-18 20:20
TVS二极管的选型和应用测试计算实例
    很多工程师在电路设计时都会考虑到EMC,但是在ESD方面却是很少考虑或甚至不考虑。个人认为有些是产品特性或是成本原因不考虑防雷防静电,但据了解, 相当多的工程师特别是比较年轻的工程师...
我要评论
1
16
关闭 站长推荐上一条 /2 下一条