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