Исходя из предположения, что исходные данные (до разделения) являются IID и что они велики, вы можете доказать, что разделение, вызванное случайным разделением, также является IID, это может быть интуитивно понятно из того факта, что если данные теста То, что вы получаете после разделения, является iid-образцом, взятым из исходных данных, и, таким образом, имеет одинаковый импульс при любом порядке этих данных, и, таким образом, они имеют одинаковое распределение, тот факт, что он независим, связан с выборкой. Сам процесс, который берет образец самостоятельно. Теперь для случая, когда у вас небольшой набор данных, это больше не так, в этом случае многие люди хорошо делают некоторые другие разбиения train_test, может быть, наиболее известным и простым является использование стратифицированного разделения, т.е. вы хорошо разделяете данные Резервируя пропорцию классов, вы можете сделать это, установив параметр stratify=True
, если вы используете sklearn.model_selection.train_test_split
. Конечно, этот метод не гарантирует, что распределение входов между обучением и тестированием одинаково, но, по крайней мере, он гарантирует, что распределение меток одинаково.