
交叉驗證(也稱為“過采樣”技術)是資料科學專案的基本要素, 它是一種重采樣程序,用于評估機器學習模型并訪問該模型對獨立測驗資料集的性能,
在本文中,您可以閱讀以下大約8種不同的交叉驗證技術,各有其優缺點:
- Leave p out cross-validation
- Leave one out cross-validation
- Holdout cross-validation
- Repeated random subsampling validation
- k-fold cross-validation
- Stratified k-fold cross-validation
- Time Series cross-validation
- Nested cross-validation
在介紹交叉驗證技術之前,讓我們知道為什么在資料科學專案中應使用交叉驗證,
為什么交叉驗證很重要?
我們經常將資料集隨機分為訓練資料和測驗資料,以開發機器學習模型, 訓練資料用于訓練ML模型,同一模型在獨立的測驗資料上進行測驗以評估模型的性能,
隨著分裂隨機狀態的變化,模型的準確性也會發生變化,因此我們無法為模型獲得固定的準確性, 測驗資料應與訓練資料無關,以免發生資料泄漏, 在使用訓練資料開發ML模型的程序中,需要評估模型的性能, 這就是交叉驗證資料的重要性,
資料需要分為:
- 訓練資料:用于模型開發
- 驗證資料:用于驗證相同模型的性能

簡單來說,交叉驗證使我們可以更好地利用我們的資料,
1.Leave p-out cross-validation
LpOCV是一種詳盡的交叉驗證技術,涉及使用p觀測作為驗證資料,而其余資料則用于訓練模型, 以所有方式重復此步驟,以在p個觀察值的驗證集和一個訓練集上切割原始樣本,
已推薦使用p = 2的LpOCV變體(稱為休假配對交叉驗證)作為估計二進制分類器ROC曲線下面積的幾乎無偏的方法,
2. Leave-one-out cross-validation
留一法交叉驗證(LOOCV)是一種詳盡的窮盡驗證技術, 在p = 1的情況下,它是LpOCV的類別,

對于具有n行的資料集,選擇第1行進行驗證,其余(n-1)行用于訓練模型,對于下一個迭代,選擇第2行進行驗證,然后重置來訓練模型,類似地,這個程序重復進行,直到n步或達到所需的操作次數,
以上兩種交叉驗證技術都是詳盡交叉驗證的型別,窮盡性交叉驗證方法是交叉驗證方法,以所有可能的方式學習和測驗,他們有相同的優點和缺點討論如下:
優點: 簡單,易于理解和實施
缺點: 該模型可能會導致較低的偏差、所需的計算時間長
3.Holdout cross-validation
保留技術是一種詳盡的交叉驗證方法,該方法根據資料分析將資料集隨機分為訓練資料和測驗資料,

在保留交叉驗證的情況下,資料集被隨機分為訓練和驗證資料, 通常,訓練資料的分割不僅僅是測驗資料, 訓練資料用于推導模型,而驗證資料用于評估模型的性能,
用于訓練模型的資料越多,模型越好, 對于保留交叉驗證方法,需要從訓練中隔離大量資料,
優點:和以前一樣,簡單,易于理解和實施
缺點: 不適合不平衡資料集、許多資料與訓練模型隔離
4. k-fold cross-validation
在k折交叉驗證中,原始資料集被平均分為k個子部分或折疊, 從k折或組中,對于每次迭代,選擇一組作為驗證資料,其余(k-1)個組選擇為訓練資料,

該程序重復k次,直到將每個組視為驗證并保留為訓練資料為止,

模型的最終精度是通過獲取k模型驗證資料的平均精度來計算的,

LOOCV是k折交叉驗證的變體,其中k = n,
優點:
- 該模型偏差低
- 時間復雜度低
- 整個資料集可用于訓練和驗證
缺點:不適合不平衡資料集,
5. Repeated random subsampling validation
重復的隨機子采樣驗證(也稱為蒙特卡洛交叉驗證)將資料集隨機分為訓練和驗證, 資料集的k倍交叉驗證不太可能分成幾類,而不是成組或成對,而是在這種情況下隨機地成組,
迭代次數不是固定的,而是由分析決定的, 然后將結果平均化,

重復隨機二次抽樣驗證

優點: 訓練和驗證拆分的比例不取決于迭代或磁區的數量
缺點: 某些樣本可能無法選擇用于訓練或驗證、不適合不平衡資料集
6. Stratified k-fold cross-validation
對于上面討論的所有交叉驗證技術,它們可能不適用于不平衡的資料集, 分層k折交叉驗證解決了資料集不平衡的問題,
在分層k倍交叉驗證中,資料集被劃分為k個組或折疊,以使驗證資料具有相等數量的目標類標簽實體, 這樣可以確保在驗證或訓練資料中不會出現一個特定的類,尤其是在資料集不平衡時,

分層k折交叉驗證,每折具有相等的目標類實體
最終分數是通過取各折分數的平均值來計算的
優點: 對于不平衡的資料集,效果很好,
缺點: 現在適合時間序列資料集,
7. Time Series cross-validation
資料的順序對于與時間序列相關的問題非常重要, 對于與時間相關的資料集,將資料隨機拆分或k折拆分為訓練和驗證可能不會產生良好的結果,
對于時間序列資料集,根據時間將資料分為訓練和驗證,也稱為前向鏈接方法或滾動交叉驗證, 對于特定的迭代,可以將訓練資料的下一個實體視為驗證資料,

如上圖所述,對于第一個迭代,第一個3行被視為訓練資料,下一個實體T4是驗證資料, 選擇訓練和驗證資料的機會將被進一步迭代,
8. Nested cross-validation
在進行k折和分層k折交叉驗證的情況下,我們對訓練和測驗資料中的錯誤估計差, 超引數調整是在較早的方法中單獨完成的, 當交叉驗證同時用于調整超引數和泛化誤差估計時,需要嵌套交叉驗證,
嵌套交叉驗證可同時應用于k折和分層k折變體,
結論
交叉驗證用于比較和評估ML模型的性能, 在本文中,我們介紹了8種交叉驗證技術及其優缺點, k折和分層k折交叉驗證是最常用的技術, 時間序列交叉驗證最適合與時間序列相關的問題,
這些交叉驗證的實作可以在sklearn包中找到, 有興趣的讀者可以閱讀sklearn檔案以獲取更多詳細資訊,
https://scikit-learn.org/stable/modules/cross_validation.html
作者:Satyam Kumar
deephub翻譯組
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/112167.html
標籤:其他
下一篇:2020搜同的最新地址
