如何划分樣本集?


在構建模型前,需要將樣本集划分為訓練集、驗證集、測試集,按什么比例划分比較合適呢?

在機器學習發展的小數據量時代,常見做法是將所有數據三七分,就是人們常說的70%驗證集,30%測試集,如果沒有明確設置驗證集,也可以按照60%訓練,20%驗證和20%測試集來划分。這是前幾年機器學習領域普遍認可的最好的實踐方法。如果只有100條,1000條或者1萬條數據,那么上述比例划分是非常合理的。

 

但是在大數據時代,我們現在的數據量可能是百萬級別,那么驗證集和測試集占數據總量的比例會趨向於變得更小。因為驗證集的目的就是驗證不同的算法,檢驗哪種算法更有效。因此,驗證集要足夠大才能評估,比如2個甚至10個不同算法,並迅速判斷出哪種算法更有效。我們可能不需要拿出20%的數據作為驗證集。比如我們有100萬條數據,那么取1萬條數據便足以進行評估,找出其中表現最好的1-2種算法。

 

同樣地,根據最終選擇的分類器,測試集的主要目的是正確評估分類器的性能,所以,如果擁有百萬數據,我們只需要1000條數據,便足以評估單個分類器,並且准確評估該分類器的性能假設我們有100萬條數據,其中1萬條作為驗證集,1萬條作為測試集,100萬里取1萬,比例是1%,即:訓練集占98%,驗證集和測試集各占1%。對於數據量過百萬的應用,訓練集可以占到99.5%,驗證和測試集各占0.25%,或者驗證集占0.4%,測試集占0.1%

 

總結一下,在機器學習中,我們通常將樣本分成訓練集,驗證集和測試集三部分,數據集規模相對較小,適用傳統的划分比例,數據集規模較大的,驗證集和測試集要小於數據總量的20%或10%。


免責聲明!

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



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