日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

libsvm中tools(easy.py,subset.py,grid.py,checkdata.py)的使用

發布時間:2025/3/15 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 libsvm中tools(easy.py,subset.py,grid.py,checkdata.py)的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這幾天在用libsvm(2.8.6)中的一些工具,總結一下.

libsvm的一些工具還是非常有用的,1.可以調用subset.py將你的樣本集合按你所想要的比例進行抽樣出兩個子樣本集合.2.還可以調用grid.py做關于(C,gamma)的交叉驗證參數選擇,可以輕松的搜索到最好的參數對(C,gamma).3.還可以調用easy.ph一步到位完成svm的整個挖掘過程,最后得出交叉驗證精度,最有參數對和測試集上的測試精度.4.還可以調用checkdata進行檢查你的數據格式是否有錯誤.這些操作可以讓大伙省事很多.

libsvm(2.8.6)中主要有四個工具:easy.py,subset.py,grid.py,checkdata.py.

運行環境要求和設置:

需要準備兩個工具.

一個工具是:python編譯環境,這個到網上下一個來安裝就好了(注意要設置環境變量path),下載python.exe 2.5.1; 另一個工具就是gnuplot.exe,到網上下一個,我用的是版本4.2,下載gnuplot.exe 安裝完上面的軟件還不能運行,還要修改easy.py,grid.py的設置.將他們對應的代碼" gnuplot_exe = r"c:/tmp/gnuplot/bin/pgnuplot.exe""都改為你的pgnuplot.exe所在的路徑,

比如我的文件在當前目錄的上一級目錄,就是和tools文件夾在同一級目錄,那么我的設置應該為" gnuplot_exe = r"../gnuplot/bin/pgnuplot.exe"".

這樣設置就完成了,我們只需要到控制臺下運行上面相應的四個程序即可.

注意:下面的python命令中,我們默認所有需要處理的樣本數據集都是放在在tools目錄下,如果數據文件不在tools目錄下則我們需要用絕對路徑指定數據的位置.

下面分別介紹調用格式:

從其文檔可以發現其功能分別為:

(1) easy.py:只要簡單輸入,就可以完成svm挖掘的所有步驟,:

1. Conduct simple scaling on the data

2.Consider the RBF kernel K(x; y)

3.Use cross-validation to nd the best parameter C and

4.Use the best parameter C and to train the whole training set

5.Test

對于初學者而言這個文件無非是他們的救命稻草,可以簡單看看他的語法:

在控制臺下走到easy.py所在的目錄下:

$ python easy.py train.3 test.3

Scaling training data...歸一化數據

Cross validation...在訓練集上做交叉驗證

Best c=128.0, g=0.125 CV rate=88.9186 (通過網格搜索法對每個參數對做交叉驗證,選擇交叉驗證精度最高所對應的參數.)

Training...( 將上面得到的參數對在訓練集合上做模型訓練)

Output model: crttrain.model (保存模型到文件)

Scaling testing data... (歸一化數據)

Testing...(用訓練得出的模型對測試集進行測試)

Accuracy = 87.8049% (36/41) (classification)(測試的精度)

Output prediction: crttest.predict (輸出預測結果)

(在交叉驗證過程中,會有一個圖形界面顯示參數選擇的情況,這就是gnuplot.exe的作用了)

(2).grid.py:用于做交叉驗證,選擇最好的參數對.

用法:

在控制臺下走到grid.py所在的目錄下:

$python grid.py crttrain

[local] 5 -7 86.9186 (best c=32.0, g=0.0078125, rate=86.9186)

[local] -1 -7 85.1744 (best c=32.0, g=0.0078125, rate=86.9186)

[local] 5 -1 77.0349 (best c=32.0, g=0.0078125, rate=86.9186)

.......

[local] 13 -15 85.1744 (best c=32.0, g=0.0078125, rate=86.9186)

[local] 13 3 55.5233 (best c=32.0, g=0.0078125, rate=86.9186)

[local] 13 -9 83.1395 (best c=32.0, g=0.0078125, rate=86.9186)

[local] 13 -3 79.6512 (best c=32.0, g=0.0078125, rate=86.9186)

32.0 0.0078125 86.9186 (c=32,gamma=0.0078125 交叉驗證精度)

(3) subset.py 用于按個數分割樣本集成訓練集和測試集.

用法:

在控制臺下走到subset.py所在的目錄下:

$python subset.py crt 100 crttrain crttest

參數說明:

crt:樣本集合;

100:訓練集樣本個數;

crttrain:存儲100個訓練樣本;

crttest:存儲剩下的樣本集做為測試集;

如果成功沒有輸出信息,反之則有錯誤提示.

(4) checkdata.py 用于檢測樣本集存儲格式是否正確

在控制臺下走到subset.py所在的目錄下:

$python checkdata.py crt

No error. (表示沒有錯)

轉貼:原鏈接已失效

總結

以上是生活随笔為你收集整理的libsvm中tools(easy.py,subset.py,grid.py,checkdata.py)的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。