В тот момент, когда вы делаете снимок модели и вам нужно его подготовить, у вас явно есть набор данных. Как бы то ни было, после подготовки нам нужно протестировать модель на каком-то тестовом наборе данных. Для этого у вас будет набор данных, который отличается от набора данных для подготовки, который вы использовали ранее. Как бы то ни было, на этапе усовершенствования может быть не так уж и много информации.

В таких случаях, очевидно, что необходимо разделить имеющийся у вас набор данных на два набора, один для подготовки, а другой для тестирования; и вы делаете это перед тем, как приступить к подготовке своей модели.

В любом случае, вопрос в том, как бы вы разобрали информацию? Вы ни в коем случае не можете физически разделить набор данных на две части. Более того, вам дополнительно необходимо убедиться в том, что вы разбиваете информацию нерегулярно. Чтобы помочь нам в этом начинании, библиотека SciKit предоставляет устройство, называемое “Библиотека выбора модели”. В библиотеке есть класс, который, соответственно, называется ‘train_test_split’. Используя его, мы можем без особых усилий разделить набор данных на подготовительные и тестовые наборы данных в различных экстенсивностях.

Есть пара параметров, которые мы должны понять, прежде чем использовать класс:

test_size – этот параметр выбирает размер информации, которая должна быть частью набора данных теста. Он задается как часть. Например, в случае, если вы передаете 0.5 в качестве значения, набор данных будет частью наполовину как тестовый набор данных. Если вы указываете этот параметр, вы можете пропустить следующий.

train_size – этот параметр необходимо определить на тот случай, если вы не указываете размер test_size. Это эквивалентно test_size, но скорее вы указываете классу, какой процент набора данных вам нужно расстаться с подготовительным набором.

random_state – Здесь передается целое число, которое при делении будет являться началом генератора произвольных чисел. Или, с другой стороны, можно также передать случайный класс RandomState, который в конечном итоге станет генератором чисел. В случае, если вы ничего не передадите, будет использовано событие RandomState, используемое np.random.

В качестве примера рассмотрим тот же набор данных, который мы рассматривали в предыдущих примерах.

Мы разделили это на два различных набора данных, один для свободных подсветки – x, а другой для зависимой переменной – y (которая является последней секцией). Сейчас мы разобьем набор данных x на два отдельных набора – xTrain и xTest. По сути, мы разделим набор данных y на два набора также – yTrain и yTest. Делать это с помощью библиотеки скрипта – это базовая задача. Надо взглянуть на код:

из sklearn.model_selection import train_test_split
xTrain, xTest, yTrain, yTest = train_test_split(x, y, test_size = 0.2, random_state = 0)

Как следует из кода, мы имеем часть набора данных в пропорции 80-20, что является типичной практикой в информатике. Для разнообразия, я не буду давать здесь урожайность. Давайте попробуем сами и посмотрим, как обстоят дела с новыми наборами данных.