Комплексное руководство: методы разделения тестового поезда в TensorFlow-Keras для машинного обучения

В сфере машинного обучения разделение тестового поезда является решающим шагом в разработке модели. Он предполагает разделение набора данных на два подмножества: одно для обучения модели, а другое — для оценки ее производительности. В этой статье мы рассмотрим несколько методов разделения тестового поезда с использованием TensorFlow-Keras, популярной среды глубокого обучения. Мы предоставим примеры кода для каждого метода, чтобы помочь вам понять и эффективно их реализовать.

  1. Разделение вручную.
    Самый простой способ выполнить разделение тестового набора — вручную разделить набор данных на отдельные обучающий и тестовый наборы с помощью индексации массива. Вот пример:
import numpy as np
# Assuming X contains the input features and y contains the corresponding labels
X_train = X[:800]
y_train = y[:800]
X_test = X[800:]
y_test = y[800:]
  1. train_test_split в Scikit-Learn:
    Scikit-Learn предоставляет удобную функцию под названием train_test_split, которая автоматически разбивает набор данных на случайные наборы поездов и тестов. Вот как вы можете его использовать:
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
  1. Наборы данных TensorFlow:
    Если вы работаете с наборами данных TensorFlow, вы можете использовать встроенную функцию train_test_splitдля разделения набора данных. Вот пример:
import tensorflow_datasets as tfds
(ds_train, ds_test), ds_info = tfds.load('dataset_name', split=['train', 'test'], shuffle_files=True, with_info=True)
  1. Стратифицированное разделение.
    В случаях, когда набор данных несбалансирован, важно поддерживать распределение классов как в обучающем, так и в тестовом наборах. train_test_splitScikit-Learn поддерживает послойное разделение. Вот пример:
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42, stratify=y)

В этой статье мы рассмотрели различные методы разделения тестового поезда с использованием TensorFlow-Keras. Мы рассмотрели разделение вручную, train_test_splitScikit-Learn, наборы данных TensorFlow и послойное разделение. Каждый метод имеет свои преимущества и может использоваться в зависимости от конкретных требований вашего проекта машинного обучения. Понимая эти методы и эффективно их используя, вы сможете улучшить процесс разработки моделей и повысить точность моделей машинного обучения.