比单独使用train_test_split来划分数据更严谨
stratify是为了保持split前类的分布。比如有100个数据,80个属于A类,20个属于B类。如果train_test_split(... test_size=0.25, stratify = y_all), 那么split之后数据如下:
training: 75个数据,其中60个属于A类,15个属于B类。
testing: 25个数据,其中20个属于A类,5个属于B类。
用了stratify参数,training集和testing集的类的比例是 A:B= 4:1,等同于split前的比例(80:20)。通常在这种类分布不平衡的情况下会用到stratify。
这个参数sklearn的文档4中讲的不是太清楚
帮助文档
http://scikit-learn.org/stable/modules/generated/sklearn.cross_validation.train_test_split.html

本文详细解释了在使用sklearn库进行数据集划分时,如何利用stratify参数确保训练集与测试集之间的类别比例一致,这对于处理类别不平衡的数据尤为重要。
4702

被折叠的 条评论
为什么被折叠?



