LIBSVM迴歸詳細操作步驟

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軟件做迴歸預測的全過程,個人認爲已經很詳盡,比網上任何帖子都清楚哈哈。哪裏不清楚的希望大家一起討論~~

 

《科研-支持向量機(SVM)預測》中的相關文章:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章