Разделить набор данных раздела на тренировку и тестирование (данные тренинга содержат 200 примеров для каждого класса)
У меня есть данные 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
1 ответ
Вы можете установить train_size
параметр sklearn.model_selection.train_test_split
к целочисленному значению, которое представляет абсолютное число выборок поездов, 200, в вашем случае. Если это число с плавающей точкой, оно должно лежать в диапазоне от 0,0 до 1,0, чтобы представить пропорцию обучающей выборки, которую вы хотите рассмотреть. Например, 0,8 означает 80%.