Важным шагом в процессе аналитики данных является разделение исходных данных на обучающую и тестовую выборки. Это позволяет нам обучить модель на одной части данных и проверить ее производительность на другой, независимой части. В этой статье мы рассмотрим принципы разделения данных и примеры на практике.
Освоить профессию «Аналитик данных» можно на курсе онлайн-университета Skypro с нуля за 12 месяцев. Вы изучите Excel, SQL и основы Python, отработаете знания на практических задачах и выйдете на рынок труда уверенным младшим специалистом. В процессе учебы будут помогать кураторы и наставники, а специалисты центра карьеры научат составлять резюме и проходить собеседования.
Обучающая и тестовая выборки
Обучающая выборка используется для обучения модели, а тестовая выборка – для оценки ее производительности. Обычно данные делятся в пропорции 70-80% на обучение и 20-30% на тестирование.
Процесс разделения может быть случайным или стратифицированным. Случайное разделение означает, что каждый объект данных имеет одинаковый шанс попасть в обучающую или тестовую выборку. Стратифицированное разделение гарантирует, что в каждой из выборок будет представлено одинаковое соотношение классов.
Пример разделения данных на обучающую и тестовую выборки
Предположим, у нас есть набор данных размером 1000 объектов. Мы хотим разделить эти данные на обучающую и тестовую выборки в пропорции 70% и 30% соответственно.
Случайное разделение
В Python с помощью библиотеки sklearn
мы можем использовать функцию 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.3, random_state=42)
Здесь X
и y
– это исходные данные и метки классов соответственно, а random_state
– это параметр, который гарантирует одинаковое разделение при каждом запуске.
Стратифицированное разделение
Для стратифицированного разделения мы также можем использовать функцию train_test_split
, указав параметр stratify
:
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, stratify=y, random_state=42)
Теперь в каждой из выборок будет одинаковое соотношение классов, что может быть полезным, если у нас есть несбалансированные данные.
Стать аналитиком данных можно за 12 месяцев на курсе Skypro. Вы научитесь работать в Excel, SQL, Google Sheets и Python, а еще сможете обрабатывать большие массивы данных, визуализировать их и делать выводы для развития бизнеса. В программе — только нужные навыки, которые вы будете использовать в реальной работе аналитиком. Специалисты центра карьеры помогут составить резюме, портфолио и научат проходить собеседования.
Вывод
Разделение данных на обучающую и тестовую выборки является важным шагом в аналитике данных. Это позволяет нам оценить производительность модели на независимой выборке и предотвратить переобучение. В Python с помощью библиотеки sklearn
можно легко разделить данные случайным или стратифицированным способом.
Удачного обучения и тестирования ваших моделей! 😉
Добавить комментарий