如果使用交叉驗證,是否還需要單獨分出測試集?


比方說,用100k條數據,有兩個思路

1. 用這100k條數據做k-fold交叉驗證,來調模型參數

2. 先隨機划分出70k條數據做訓練集用來根據交叉驗證調參數,調好之后再用剩下的30k條數據做測試集

【答】

雖然這兩個都沒有錯對之分,但是在數據量允許的情況下,更建議第2個思路。

對於思路1,如果用交叉驗證的預測誤差作為模型的預測誤差,這是有偏差的。因為交叉驗證的誤差通常是小於真實測試誤差的。

思路2是推薦的。因為測試集一定要和模型本身獨立、無關,測試集不能參與模型的訓練。

引申開來,還有第二層意思,你利用70k的數據訓練完模型后,不能根據在30k測試集上的表現再回去重新調整參數,因為一旦你這樣做了,你就很可能會過擬合,你的交叉驗證也就沒有意義了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM