Некоторые лучшие практики при разбиении набора данных на train и test с помощью функции traintestsplit из библиотеки Scikit-learn:
- Настройка параметров. habr.com Можно указать следующие значения: habr.com
- test_size — доля тестовой выборки. habr.com По умолчанию 0,25, можно задать любое значение от 0 до 1. habr.com
- trainsize — доля обучающей выборки. habr.com Если указано одновременно с testsize, они должны суммироваться до 1. habr.com
- random_state — фиксирует результат, чтобы при каждом запуске разбиение было одинаковым. habr.com Число может быть любым — главное, чтобы оно не менялось между запусками. habr.com
- stratify=y — сохраняет соотношение классов в целевой переменной, как было в исходных данных. habr.com Это важно, если один из классов сильно преобладает — например, 90% объектов одного типа и только 10% другого. habr.com
- Использование стратифицированного разделения. sky.pro Этот метод применяют, когда важно сохранить пропорции классов в тренировочном и тестовом наборах. sky.pro Он особенно полезен для задач классификации с несбалансированными данными. sky.pro
- Применение разделения с перетасовкой. www.tutorialspoint.com Параметр shuffle гарантирует произвольную перетасовку данных перед разделением. www.tutorialspoint.com Точки данных в каждом наборе будут перемешаны случайным образом. www.tutorialspoint.com
По умолчанию traintestsplit просто случайно выбирает, какие объекты пойдут в обучение, а какие — в тест. habr.com