機器學習入門06 - 訓練集和測試集 (Training and Test Sets)


原文鏈接:https://developers.google.com/machine-learning/crash-course/training-and-test-sets

測試集是用於評估根據訓練集開發的模型的數據集。

1- 拆分數據

可將單個數據集拆分為一個訓練集和一個測試集。

  • 訓練集 - 用於訓練模型的子集。
  • 測試集 - 用於測試訓練后模型的子集。

訓練集的規模越大,模型的學習效果越好。
測試集規模越大,對於評估指標的信心越充足,置信區間就越窄。
在創建一個能夠很好地泛化到新數據模型的過程中,測試集充當了新數據的代理。
拆分數據的一些注意事項:

  • 兩個數據集必須相互獨立。
  • 確保先進行隨機化,再拆分數據。
  • 如果數據集規模很小,可能需要執行諸如交叉驗證之類較為復雜的操作。

確保測試集滿足以下兩個條件:

  • 規模足夠大,可產生具有統計意義的結果。
  • 能代表整個數據集。換言之,挑選的測試集的特征應該與訓練集的特征相同。

請勿對測試數據進行訓練。
如果評估指標取得了意外的好結果,則可能表明您不小心對測試集進行了訓練。例如,高准確率可能表明測試數據泄露到了訓練集。


舉例說明
假設一個模型要預測某封電子郵件是否是垃圾郵件,它使用主題行、郵件正文和發件人的電子郵件地址作為特征。
按照 80-20 的拆分比例將數據拆分為訓練集和測試集。
在訓練之后,該模型在訓練集和測試集上均達到了 99% 的精確率,原本預計測試集上的精確率會低於此結果。
因此再次查看數據后發現,測試集中的很多樣本與訓練集中的樣本是重復的(由於疏忽,在拆分數據之前,沒有將輸入數據庫中的相同垃圾郵件重復條目清理掉)。
無意中對一些測試數據進行了訓練,因此無法再准確衡量該模型泛化到新數據的效果。

2- 關鍵詞

過擬合 (overfitting)
創建的模型與訓練數據過於匹配,以致於模型無法根據新數據做出正確的預測。

測試集 (test set)
數據集的子集,用於在模型經由驗證集的初步驗證之后測試模型。
與訓練集和驗證集相對。

訓練集 (training set)
數據集的子集,用於訓練模型。
與驗證集和測試集相對。


免責聲明!

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



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