Sklearn Train Test Split – Mastering Data Splitting for Machine Learning
SKLearn Train Test Split – это функция из библиотеки для машинного обучения Scikit-learn, которая позволяет разделить данные на обучающую и тестовую выборку.
Обучающая выборка используется для обучения модели, а тестовая выборка используется для оценки качества предсказаний. Основная идея состоит в том, чтобы избежать переобучения модели с помощью проверки ее на новых данных, которые она раньше не видела.
Синтаксис функции train_test_split() следующий:
train_test_split(X, y, test_size=0.2, random_state=42, shuffle=True)
где:
X – массив признаков ( массив значений )
y – массив целевых значений ( массив меток )
test_size – доля тестовой выборки в общем объеме данных в размере от 0 до 1. По умолчанию принимается значение 0.25, то есть 25% данных в тестовой выборке.
random_state – устанавливает сид генератора случайных чисел. Позволяет получить одинаковое разбиение данных при каждом запуске кода.
shuffle – перемешивает данные перед разделением. По умолчанию принимается значение True.
Давайте рассмотрим пример кода, чтобы понять, как эта функция работает:
import numpy as np
from sklearn.model_selection import train_test_split
# Создаем массив данных X и меток y
X = np.array([[1, 2], [3, 4], [5, 6], [7, 8]])
y = np.array([0, 1, 2, 3])
# Разделяем данные на обучающую и тестовую выборки
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3,
random_state=42, shuffle=True)
print("X_train:", X_train)
print("X_test:", X_test)
print("y_train:", y_train)
print("y_test:", y_test)
# Вывод:
# X_train: [[1 2]
# [5 6]
# [7 8]]
# X_test: [[3 4]]
# y_train: [0 2 3]
# y_test: [1]
В данном примере мы создаем массив данных X из 4 значений и массив меток y из 4 меток. Затем мы используем функцию train_test_split(), чтобы разделить данные на обучающую и тестовую выборки с размером тестовой выборки равным 0,3 (30%). Мы также устанавливаем сид генератора случайных чисел равным 42, чтобы получить одинаковое разбиение данных при каждом запуске кода.
Результат печати показывает, что мы получили 3 обучающие данные и 1 тестовую выборку, а также соответствующие метки.
Таким образом, с помощью функции train_test_split() легко разбить массив данных на обучающую и тестовую выборки, а затем использовать их для обучения и оценки качества моделей машинного обучения.