P.S. 多謝“三月未央”網(wǎng)友的提醒,本文中的一些錯誤得到改正,原先的第五幅圖中路徑有錯(估計那晚太困了,稀里糊涂的就寫出來了,實為害人啊
)!再次感謝你們的關(guān)注,希望在交流中一起進(jìn)步!修改和增加部分已經(jīng)用紅色字體區(qū)分了,還有就是第五章圖,估計以前做錯的人不少,不要怪我!晚上一網(wǎng)友發(fā)來消息說還是不清楚怎么做,老出錯,現(xiàn)在有點閑功夫,截了一些圖按部就班的做了,希望能看懂。
其實只要修改一個文件(gridregression.py)的路徑就可以了,其他網(wǎng)上說的兩個文件(grid.py和easy.py)的路徑可以不做修改,因為回歸根本沒有用到。修改的地方是綠色的兩行路徑,寫成實際路徑就可以了。網(wǎng)上下載下來的一般都是r"...svm-..."所以要改。修改后如下圖。
改完之后,首先把你的數(shù)據(jù)集包括data2和test2(這是原始的)放到C:\libsvm-2.88\windows下。
現(xiàn)在要做的就是真正意義上的第一步,歸一化處理,這一步要做,希望不要為了簡便不做,這樣預(yù)測出來不準(zhǔn)。具體在dos下調(diào)完路徑后,執(zhí)行下面兩句,分別是歸一化數(shù)據(jù)集和測試集后產(chǎn)生新的兩個文件data和test。
至于路徑的問題,很多不涉及計算機(jī)專業(yè)的網(wǎng)友很痛苦,經(jīng)常會不知所措。不過我再多嘴一次:先輸入字母cd,大小寫都無所謂了,然后空格,之后就是你想要讓dos去運行的地址(路徑)??梢岳侠蠈崒嵉氖执?,也可以復(fù)制C:\libsvm-2.88\windows,然后粘貼,dos框下Ctrl+V無效,只能鼠標(biāo)右擊選擇粘帖。最后按一回車鍵就把路徑調(diào)到C:\libsvm-2.88\windows下了。
現(xiàn)在C:\libsvm-2.88\windows中多了兩個文件,其實還有一個scale,不用管他,不起作用!
現(xiàn)在是通過gridregression.py函數(shù)進(jìn)行參數(shù)尋優(yōu),把路徑調(diào)好,注意調(diào)到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,可能你要等很長時間,我的數(shù)據(jù)很多搞了一個晚上。
有天早上一個朋友說你昨晚這么晚回來,早上怎么7點就上線了啊qq,汗,電腦一夜跑這玩意兒。。。扯遠(yuǎn)了。
PS.命令很長可以選擇上述方法復(fù)制后,在dos框中右擊粘貼完成。當(dāng)然有熱心的新浪網(wǎng)友的建議:(這么長的命令在dos下敲很容易出錯的,建議大家在相應(yīng)目錄下建立一個bat文件,如“py.bat",把相應(yīng)命令拷貝過去,直接運行"py",這樣就省事多了。希望博主把這方法加到你的博文里。),我還沒有試過。
訓(xùn)練完后,在C:\Python25中會有一個gridregression_data.parameter文件,里面就是自動尋優(yōu)的結(jié)果,主要也是為了這個東西,搞了我老半天nnd。
打開它,下面最后一行分別為c,g,p,mse。其中mse沒有用,其實這個值越小越好。
P.S.
把剛才的3個參數(shù)用來進(jìn)行訓(xùn)練svm模型。把路徑重新調(diào)回C:\libsvm-2.88\windows,輸入語句訓(xùn)練,會在C:\libsvm-2.88\windows里產(chǎn)生一個data.txt.model文件。訓(xùn)練好了緊接著對test文件預(yù)測,輸入第二條語句,得出結(jié)果在out里面。
最后打開out和test文件比較一下結(jié)果差多少,自己去計算咯。
到此已經(jīng)實現(xiàn)了libsvm軟件做回歸預(yù)測的全過程,個人認(rèn)為已經(jīng)很詳盡,比網(wǎng)上任何帖子都清楚哈哈。哪里不清楚的希望大家一起討論~~
《科研-支持向量機(jī)(SVM)預(yù)測》中的相關(guān)文章:
聯(lián)系客服