我有一个5级数据。每个类别大约有1000,1200,1500,1900,2000个样本。我想在训练数据中有200个每个类的例子。其他样本将是测试数据。也就是说,训练数据将包括每个类别中的[200,200,200,200,200]样本,测试数据将包括每个类别中的[800,1000,1300,1700,1800]样本。
我们如何在Python中执行此操作?是否有任何预定义的方法/包在Python中执行此操作?
另一个例子
train_test_split(data, labels, train_size=
的 0.0042 )
Label Number Total Samples Train Samples Test Samples
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
Total 42776 200 42576
train_test_split(data, labels, train_size=
的 200 )
Label Number Total Samples Train Samples Test Samples
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
Total 42776 200 42576
所以,我希望它是这样的:
Label Number Total Samples Train Samples Test Samples
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
答案 0 :(得分:0)
您可以将train_size
sklearn.model_selection.train_test_split
参数设置为一个整数值,表示您的情况下列车样本的绝对数量200。如果它是一个浮点数,它应该介于0.0到1.0之间,以表示您想要考虑的训练样本的比例。例如,0.8表示80%。