P.S. 多谢“三月未央”网友的提醒,本文中的一些错误得到改正,原先的第五幅图中路径有错(估计那晚太困了,稀里糊涂的就写出来了,实为害人啊 晚上一网友发来消息说还是不清楚怎么做,老出错,现在有点闲功夫,截了一些图按部就班的做了,希望能看懂。 其实只要修改一个文件(gridregression.py)的路径就可以了,其他网上说的两个文件(grid.py和easy.py)的路径可以不做修改,因为回归根本没有用到。修改的地方是绿色的两行路径,写成实际路径就可以了。网上下载下来的一般都是r"...svm-..."所以要改。修改后如下图。 改完之后,首先把你的数据集包括data2和test2(这是原始的)放到C:\libsvm-2.88\windows下。 现在要做的就是真正意义上的第一步,归一化处理,这一步要做,希望不要为了简便不做,这样预测出来不准。具体在dos下调完路径后,执行下面两句,分别是归一化数据集和测试集后产生新的两个文件data和test。 至于路径的问题,很多不涉及计算机专业的网友很痛苦,经常会不知所措。不过我再多嘴一次:先输入字母cd,大小写都无所谓了,然后空格,之后就是你想要让dos去运行的地址(路径)。可以老老实实的手打,也可以复制C:\libsvm-2.88\windows,然后粘贴,dos框下Ctrl+V无效,只能鼠标右击选择粘帖。最后按一回车键就把路径调到C:\libsvm-2.88\windows下了。 现在C:\libsvm-2.88\windows中多了两个文件,其实还有一个scale,不用管他,不起作用! 现在是通过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",这样就省事多了。希望博主把这方法加到你的博文里。),我还没有试过。 训练完后,在C:\Python25中会有一个gridregression_data.parameter文件,里面就是自动寻优的结果,主要也是为了这个东西,搞了我老半天nnd。 打开它,下面最后一行分别为c,g,p,mse。其中mse没有用,其实这个值越小越好。 P.S. 把刚才的3个参数用来进行训练svm模型。把路径重新调回C:\libsvm-2.88\windows,输入语句训练,会在C:\libsvm-2.88\windows里产生一个data.txt.model文件。训练好了紧接着对test文件预测,输入第二条语句,得出结果在out里面。 最后打开out和test文件比较一下结果差多少,自己去计算咯。 到此已经实现了libsvm软件做回归预测的全过程,个人认为已经很详尽,比网上任何帖子都清楚哈哈。哪里不清楚的希望大家一起讨论~~ 《科研-支持向量机(SVM)预测》中的相关文章: |
|