Как использовать sklearn train test split в Python?
Разбиение вашего набора данных с помощью функции sklearn train_test_split()
Одной из ключевых аспектов наблюдаемого машинного обучения является оценка моделей и проверка их работоспособности. При оценке предсказательной способности модели важно, чтобы процесс был беспристрастным. С помощью функции train_test_split()
из библиотеки машинного обучения scikit-learn вы можете разделить свой набор данных на подмножества, минимизируя возможность смещения в процессе оценки и проверки.
В этом учебнике вы узнаете:
- Почему вам необходимо разделить ваш набор данных при наблюдаемом машинном обучении.
- Какие подмножества набора данных вам нужны для несмещенной оценки вашей модели.
- Как использовать функцию
train_test_split()
для разделения вашего набора данных. - Как комбинировать
train_test_split()
с методами предсказания.
Кроме того, вы получите информацию о связанных инструментах из модуля sklearn.model_selection
.
Бесплатный бонус: Нажмите здесь, чтобы получить доступ к бесплатному руководству по NumPy, которое поможет вам найти лучшие учебники, видео и книги для улучшения ваших навыков работы с NumPy.
Важность разделения данных
Наблюдаемое машинное обучение заключается в создании моделей, которые точно отображают входные данные (независимые переменные, или предикторы) на выходные данные (зависимые переменные, или отклики).
Величины, которые измеряют точность, могут варьироваться в зависимости от области знаний. Подробные объяснения можно найти на ресурсах, таких как Statistics By Jim, Quora и многих других.
Предварительные требования для использования train_test_split()
Для того чтобы использовать функцию train_test_split()
, вы должны иметь установленную библиотеку scikit-learn. Если у вас ее нет, вы можете установить ее, выполнив команду pip install scikit-learn
. После этого вы сможете импортировать функцию с помощью команды from sklearn.model_selection import train_test_split
.
Применение train_test_split()
Функция train_test_split()
используется для разделения набора данных на обучающую и тестовую выборки. Обычно принято разделять набор данных на обучающую и тестовую выборки в соотношении 70/30 или 80/20. Это означает, что 70% или 80% данных будут использоваться для обучения модели, а оставшиеся 30% или 20% - для тестирования ее предсказательной способности.
Ниже приведен пример кода, который показывает, как использовать функцию train_test_split()
для разделения набора данных на обучающую и тестовую выборки:
Функция train_test_split()
принимает следующие параметры:
X
- матрица признаков (независимые переменные)y
- вектор меток (зависимые переменные)test_size
- размер тестовой выборки (в долях или абсолютных значениях)random_state
- начальное значение генератора случайных чисел для воспроизводимых результатов
Обучение с учителем с использованием train_test_split()
Теперь, когда мы знаем, как использовать функцию train_test_split()
для разделения набора данных, давайте рассмотрим примеры использования для задач обучения с учителем.
Минимальный пример линейной регрессии
Предположим, у вас есть набор данных, содержащий значения X и соответствующие значения y. Вы хотите обучить модель линейной регрессии на этом наборе данных, используя функцию train_test_split()
для разделения данных на обучающую и тестовую выборки.
Пример регрессии
Предположим, у вас есть набор данных с несколькими признаками и соответствующими значениями целевой переменной. Вы хотите обучить модель регрессии на этом наборе данных, используя функцию train_test_split()
для разделения данных на обучающую и тестовую выборки.
Пример классификации
Предположим, у вас есть набор данных с несколькими признаками и соответствующими метками классов. Вы хотите обучить модель классификации на этом наборе данных, используя функцию train_test_split()
для разделения данных на обучающую и тестовую выборки.
Другие возможности проверки
Кроме разделения набора данных на обучающую и тестовую выборки, библиотека scikit-learn предлагает и другие возможности для оценки моделей, такие как кросс-валидация, перекрестная проверка и сеточный поиск параметров. Эти методы позволяют более точно оценить качество моделей и выбрать наилучшие параметры.
Заключение
В этом учебнике вы узнали, как использовать функцию train_test_split()
из библиотеки scikit-learn для разделения вашего набора данных на обучающую и тестовую выборки при наблюдаемом машинном обучении. Вы также узнали, как комбинировать train_test_split()
с методами предсказания и использовать его для решения различных задач обучения с учителем.