StratifiedKFold實現分層抽樣


        當你要處理一個任務,比如說分類,手上就會有一批訓練集和一批測試集,測試集使用來最終的評測。為了能更好的訓練一個model並進行有效評估,首先要做的是將手頭上的訓練集划分出一個驗證集,用以驗證模型

        之前的k折交叉驗證沒有考慮到標簽分布的問題,或者干脆就random一批驗證集,其實這樣最終的模型會有隱患,科學的做法是:可以利用分層抽樣進行划分,能夠確保生成的訓練集和驗證集中的各個類別比例同原始訓練集中保持一致,這樣就不會產生生成的數據分布紊亂問題,大家可以借鑒使用。API用sklearn的:

from sklearn.model_selection import StratifiedKFold

sfolder = StratifiedKFold(n_splits=3,random_state=24,shuffle=True)

 


免責聲明!

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



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