Данные для модели
Урок 2 из 19 курса Введение в машинное обучение на Coddy.
В машинном обучении данные играют решающую роль в обучении и разработке моделей. Чтобы подать данные в модель, они обычно организуются в структурированном формате, известном как набор данных (DataFrame в pandas).
Набор данных состоит из двух основных частей:
- Признаки (Features) — набор столбцов, которые представляют собой набор данных
- Целевая переменная (Target variable) — представляет собой выходные данные или значение, которое модель стремится предсказать или оценить.
Например, вот таблица Weather
| id | degrees (C) | humidity (%) | wind (KM/H) | is_rain |
| 1 | 23 | 5 | 14 | True |
| 2 | 30 | 10 | 17 | False |
| 3 | 15 | 3 | 12 | False |
| 4 | 20 | 12 | 5 | False |
| 5 | 26 | 57 | 23 | True |
Предположим, мы хотим узнать, пойдет ли дождь; тогда признаками будут degrees, humidity, wind, а целевой переменной — is_rain.
Признаки обозначаются как <strong>X</strong>, а целевая переменная — как <strong>y</strong>.
Целевая переменная (<strong>y</strong>) может содержать любой тип данных: число, логическое значение, строку и т. д.
В процессе обучения модель использует признаки в качестве входных данных, а целевую переменную — в качестве эталонного значения (ground truth) или правильного ответа.
Без целевой переменной у модели не было бы возможности узнать, верны ее предсказания или нет.
Существует множество различных вариаций структуры наборов данных:
- Много признаков, одна целевая переменная
- Один признак, одна целевая переменная
- Много признаков, много целевых переменных
- Мало признаков, одна или несколько целевых переменных
- Нет целевой переменной
- Данные временных рядов
- и т. д.
Обучение с учителем (Supervised learning) включает наборы данных с парами «вход-выход», где алгоритм учится сопоставлять входные данные с соответствующими целевыми переменными.
Обучение без учителя (Unsupervised learning) не предполагает наличия целевых переменных; вместо этого оно ищет закономерности или структуру во входных данных без размеченных примеров.
крайне важно убедиться, что целевая переменная независима от других столбцов, так как любая зависимость может привести к утечке данных (data leakage) и привести к обманчиво высокой производительности во время обучения. По-настоящему прогностическая модель должна обучаться на признаках, которые не связаны напрямую с целью, сохраняя таким образом целостность и обобщающую способность предсказаний модели.
Независимая целевая переменная не может быть напрямую вычислена или получена из других столбцов вашего набора данных; это то, что вы стремитесь предсказать.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Задание
ЛегкоВам дан CSV-файл с названием galactic_zoo_no_target.csv. В этом наборе данных нет целевой переменной.
В этом испытании вы создадите свою собственную целевую переменную. Создайте столбец с названием ComplexityIndex, рассчитанный по формуле: WaterCoverage * HabitatDiversity / PlanetMass. Затем удалите столбцы WaterCoverage, HabitatDiversity и PlanetMass, так как теперь они представлены столбцом ComplexityIndex.
Чтобы пройти испытание, ничего не выводите на печать, мы проверяем переменную df внутренне.
Попробуйте сами
# pandas как pd уже импортирован
df = pd.read_csv("galactic_zoo_no_target.csv")
# Напишите свой код ниже
Все уроки раздела Введение в машинное обучение
Потренируйтесь самостоятельно: Онлайн-компилятор Python