Python 将分区数据集拆分为训练和测试(训练数据包含每个类的200个示例)

Python 将分区数据集拆分为训练和测试(训练数据包含每个类的200个示例),python,machine-learning,split,scikit-learn,train-test-split,Python,Machine Learning,Split,Scikit Learn,Train Test Split,我有5级数据。每个类别大约有1000、1200、1500、1900、2000个样本。我想有200个例子,每个班的培训数据。其他样本将作为测试数据。也就是说,训练数据将包括每个类中的[200、200、200、200、200]样本,测试数据将包括每个类中的[800、1000、1300、1700、1800]样本 我们如何在Python中实现这一点?在Python中是否有任何预定义的方法/包来执行此操作 另一个例子 train\u test\u split(数据、标签、train\u大小=

我有5级数据。每个类别大约有1000、1200、1500、1900、2000个样本。我想有200个例子,每个班的培训数据。其他样本将作为测试数据。也就是说,训练数据将包括每个类中的[200、200、200、200、200]样本,测试数据将包括每个类中的[800、1000、1300、1700、1800]样本

我们如何在Python中实现这一点?在Python中是否有任何预定义的方法/包来执行此操作

另一个例子

train\u test\u split(数据、标签、train\u大小=
<0.0042
)
标签编号总样本序列样本测试样本
1           6631           33          6598 
2          18649           89         18560 
3           2099            6          2093 
4           3064           11          3053 
5           1345            5          1340 
6           5029           26          5003 
7           1330            3          1327 
8           3682           21          3661 
9            947            6           941 
总计4277620042576

train\u test\u split(数据、标签、train\u大小=
200
)
标签编号总样本序列样本测试样本
1           6631           33          6598 
2           18649          89         18560 
3           2099            6          2093 
4           3064           11          3053 
5           1345            5          1340 
6           5029           26          5003 
7           1330            3          1327 
8           3682           21          3661 
9            947            6           941 
总计4277620042576

所以,我希望它是这样的:

标签编号总样本序列样本测试样本
1           6631           200          6431
2           18649          200         18449
3           2099           200          1899
4           3064           200          2864
5           1345           200          1145
6           5029           200          4829
7           1330           200          1130
8           3682           200          3482
9            947           200           747

Total 42776 1800 40976

您可以将
sklearn.model_selection.train_test_split
train_size
参数设置为整数值,该整数值表示在您的情况下,列车样本的绝对数量为200。如果它是一个浮标,它应该位于0到1之间,以代表你想要考虑的训练样本的比例。例如,0.8意味着80%

到现在为止你都做了些什么?我在谷歌上搜索了一下,但找不到有效的解决办法。
train\u test\u split
功能中的
train\u size
参数不是解决方案。如果
int
为,则自动计算百分比。如果int,则自动计算百分比是什么意思?如果参数
train\u size
为200,则每类训练数据中的元素数分别为[26,32,39,50,53]。训练数据中的样本总数为200。我不要这个。每个类由200个样本组成,因此您在训练数据中总共有1000个样本。因此,如果您将1000作为
train\u size
,那么除了200个样本之外,其他所有样本的样本数都不会是200个,这真的很重要吗?很抱歉,我不能告诉您我的问题。我在问题中增加了一个详细的例子。我希望它能解释清楚。你的问题现在清楚了。我只能考虑首先创建5个独立的数据帧,每个数据帧包含1个类/标签的样本。在每一个上应用列测试,列大小=200。这将为您提供5个训练集和5个测试集,您可以通过pythonically组合来获得单个训练集和测试集。