Python 指定使用sklearn中的train_test_split时类中的最大项数

Python 指定使用sklearn中的train_test_split时类中的最大项数,python,scikit-learn,scipy,Python,Scikit Learn,Scipy,我正在处理一个高度不平衡的数据集,并使用从sklearn.model\u selection 我在这个数据集中有10000个项目,这些类的比率约为10/2/2/1,我要寻找的是一种使序列拆分平衡的方法 我想在最大类达到最大值时停止向其添加元素 是否可以限制项目数量,我知道可以在拆分后删除额外的项目,但我想知道是否有这样的选项?调用train\u test\u split函数时使用stratify参数。如需更多信息,请遵循 对于30%的测试数据,您可以这样做 X\u序列,X\u测试,y\u序列,y

我正在处理一个高度不平衡的数据集,并使用从
sklearn.model\u selection

我在这个数据集中有10000个项目,这些类的比率约为10/2/2/1,我要寻找的是一种使
序列
拆分平衡的方法 我想在最大类达到最大值时停止向其添加元素


是否可以限制项目数量,我知道可以在拆分后删除额外的项目,但我想知道是否有这样的选项?

调用
train\u test\u split
函数时使用
stratify
参数。如需更多信息,请遵循

对于30%的测试数据,您可以这样做

X\u序列,X\u测试,y\u序列,y\u测试=序列测试分割(数据,y\u真,分层=y\u真,测试大小=0.3)


data
是您的总数据&
y\u true
是您的基本真值

以补充Kalsi的anwser:分层意味着按类平均分割数据集。它为您提供了一个测试数据集,每个类的比例与原始数据集相同。我不认为这正是我要寻找的,我想停止向
x\u列添加元素,当它达到某个最大值时,我不关心
x\u测试
,我想这样做是为了给较小的类一个在分类器中战斗的机会。