數據集的訓練集和測試集划分


 

留出法(hold-out)

留出法,直接將數據集D DD划分為兩個互斥的集合,其中一個集合作為訓練集S SS,另一個作為測試集T TT,一般做法是將2/3~4/5的樣本作為訓練集,其余部分作為測試集;

在使用留出法時,一般采用多次隨即划分、重復進行實驗評估后,取平均值作為留出法的評估結果。

交叉驗證法(cross validation)

交叉驗證法,或k kk折交叉驗證法(k-fold cross validation),先將數據集D DD划分為大小相似的​k kk個互斥子集,然后進行​k kk次實驗,每次實驗使用​k − 1 k-1k1個子集作為訓練集,剩下的1個子集作為測試集,其中,每個子集都作為測試集進行過一次實驗;

在使用交叉驗證法時,通常要隨機使用不同划分重復p pp次,最終的評估結果是p pp次k kk折交叉驗證結果的平均值。

例如,10次10折交叉驗證法,進行了100次實驗。

特別地,當k = m k=mk=m時(m mm為樣本數),k kk折交叉驗證法,即為留一法(Leave-one-out),此方法只有一種划分子集的划分方式,即每個子集包含一個樣本。

自助法(bootstrapping)

自助法,對於包含m mm個樣本的數據集D DD,每次隨機抽取一個樣本作為訓練樣本,又放回地抽取,執行m mm次抽取操作,得到訓練樣本集,剩余部分則為測試集;

當m趨於無窮時,樣本在測試集中出現的概率趨於1 / e 1/e1/e,即約0.368,如下面公式所示:
lim ⁡ m → ∞ ( 1 − 1 m ) m = 1 e \lim_{m \to \infty} \big(1-\frac{1}{m}\big)^m=\frac{1}{e}lim(1m1)m=e1
自助法適用於數據集較小,難以有效划分訓練集和測試集的情況;

自助法產生的數據集改變了初始數據集的分布,引入了估計偏差;

因此,在數據量足夠的情況下,一般使用留出法或交叉驗證法。

注意事項

測試集至少包含30個樣例;

測試集/訓練集划分時,要盡可能保持數據分布的一致性,例如,分類任務中保持樣本類別比例相似(分層采樣,stratified sampling)。


免責聲明!

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



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