k 折交叉驗證(k-fold cross validation)
靜態的「留出法」對數據的划分方式比較敏感,有可能不同的划分方式得到了不同的模型。「k 折交叉驗證」是一種動態驗證的方式,這種方式可以降低數據划分帶來的影響。具體步驟如下:
將數據集分為訓練集和測試集,將測試集放在一邊
將訓練集分為 k 份
每次使用 k 份中的 1 份作為驗證集,其他全部作為訓練集。
通過 k 次訓練后,我們得到了 k 個不同的模型。
評估 k 個模型的效果,從中挑選效果最好的超參數
使用最優的超參數,然后將 k 份數據全部作為訓練集重新訓練模型,得到最終模型。
k 一般取 10 數據量小的時候,k 可以設大一點,這樣訓練集占整體比例就比較大,不過同時訓練的模型個數也增多。 數據量大的時候,k 可以設小一點。