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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

使用libsvm中的svm_cross_validation函数进行交叉验证

發布時間:2023/12/20 编程问答 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用libsvm中的svm_cross_validation函数进行交叉验证 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

from:https://blog.csdn.net/tao1107291820/article/details/51581322

在libsvm的使用中,為了得到更好的c、gama參數,可以通過多次使用libsvm中的svm_cross_validation函數進行參數尋優,下面是svm_cross_validation的一種使用方法:

svm_problem的定義:

struct svm_problem
{
int l;
double *y;
struct svm_node **x;
};

1.首先明白svm_cross_validation函數的輸入與輸出,

輸入:prob,param,nr_fold。

? ?prob是將所有樣本的特征和類別按照libsvm要求的格式轉換成?svm_problem結構體數組,?prob的長度要求能夠被nr_fold整除

? ?param是分類器訓練參數

? ?nr_fold是交叉驗證的折數

輸出:target

? ?target是一個double類型的數組,長度為prob.l,存儲的是對prob中各個樣本的識別結果,將target與存儲類別的數組prob.y進行比較可以得到此次交叉驗證的識別準確率。

函數大概運行步驟:

如果做5折交叉驗證,svm_cross_validation函數會建立一個索引數組perm,然后把數組perm當作索引訪問prob達到打亂prob的效果,再將prob分成5份,4份用于訓練,剩下一份測試,target存儲測試結果,這樣分5次后,target就保存了對prob中所有元素的測試結果,并且存儲順序和prob中樣本的排列是一樣的。將target與prob.y依次對比就得到此次交叉驗證的識別準確率。

?

demo:?https://download.csdn.net/download/liushuai_123/7378795

總結

以上是生活随笔為你收集整理的使用libsvm中的svm_cross_validation函数进行交叉验证的全部內容,希望文章能夠幫你解決所遇到的問題。

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