Train Test Split: A Crucial Technique for Machine Learning Model Performance
Train test split - это процесс разделения набора данных на две части: обучающую выборку (train set) и тестовую выборку (test set). Данные в обучающей выборке используются для обучения модели, а данные в тестовой выборке используются для оценки качества модели.
Python предоставляет мощный инструментарий для работы с разделением данных на обучающую и тестовую выборки. Для этого в библиотеке sklearn (scikit-learn) есть функция train_test_split.
Пример:
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_iris
iris = load_iris()
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.3)
print("Размер тренировочной выборки:", len(X_train))
print("Размер тестовой выборки:", len(X_test))
В данном примере мы импортируем библиотеку sklearn и загружаем набор данных iris. Затем мы используем функцию train_test_split для разделения данных на обучающую и тестовую выборки. Аргумент test_size=0.3 указывает, что мы хотим, чтобы тестовая выборка составляла 30% от всего набора данных. Результатом работы функции являются четыре массива X_train, X_test, y_train, y_test, содержащие признаки и метки классов для обучающей и тестовой выборок соответственно.
Кроме того, в этом примере мы выводим размеры полученных выборок. Размеры выборок зависят от того, какой размер задан для тестовой выборки. Хорошей практикой считается использовать от 20% до 30% для тестовой выборки, при этом обучающая выборка будет составлять примерно 70-80% от всего набора данных.
Train test split - это важный этап при разработке модели машинного обучения, поскольку он позволяет оценить ее точность и обнаружить возможное переобучение (overfitting) или недообучение (underfitting). Правильное разделение данных на обучающую и тестовую выборки позволяет получить модель, которая обобщает данные и может быть применена на новых данных.