Базовая терминология ML
Маленький словарь, который превратит непонятные термины в привычные слова.
Дальше эти слова будут встречаться постоянно. Разберём их на одном сквозном примере: предсказываем цену квартиры.
Датасет, объекты, признаки, метки
Датасет (dataset) — таблица с данными, на которых учится модель. Строки — объекты, столбцы — признаки (и метка).
Представьте таблицу квартир. Каждая строка — один объект (одна квартира). Столбцы делятся на две части:
- Признаки (features) — характеристики объекта, по которым делаем предсказание: площадь, этаж, число комнат, расстояние до метро. Их часто обозначают буквой
X. - Метка / целевая переменная (label, target) — то, что хотим предсказать: цена квартиры. Её обозначают буквой
y.
| Площадь | Комнаты | До метро, мин | Цена (метка) |
| 40 | 1 | 10 | 8 млн |
| 60 | 2 | 5 | 13 млн |
| 80 | 3 | 15 | 15 млн |
Первые три столбца — признаки (X), последний — метка (y).
Модель, обучение, инференс
- Модель (model) — то, что связывает признаки с предсказанием. По сути это функция: подаёшь признаки квартиры — получаешь оценку цены.
- Обучение (training, fit) — процесс настройки модели по датасету. Модель «смотрит» на примеры с известными ответами и подбирает внутренние параметры так, чтобы её предсказания были как можно ближе к правде.
- Инференс / предсказание (inference, predict) — применение уже обученной модели к новым данным, для которых ответа ещё нет.
Аналогия: обучение — это как студент решает задачник с ответами в конце и учится на них. Инференс — это экзамен: новые задачи, ответы он выдаёт сам.
Как это выглядит в коде
Почти все ML-библиотеки следуют одному шаблону: сначала fit (обучить), потом predict (предсказать). Этот пример — иллюстрация (библиотека scikit-learn в браузере не запустится), но запомните схему — она везде одинаковая.
# Иллюстрация. Запоминаем шаблон fit / predict
from sklearn.linear_model import LinearRegression
X = [[40, 1, 10], [60, 2, 5], [80, 3, 15]] # признаки
y = [8, 13, 15] # метки (цена, млн)
model = LinearRegression()
model.fit(X, y) # ОБУЧЕНИЕ на известных примерах
new_flat = [[55, 2, 7]]
price = model.predict(new_flat) # ИНФЕРЕНС: предсказание для новой квартиры
print(price)
Признаки и метки своими руками
Чтобы термины не остались абстрактными, посчитаем кое-что без всяких библиотек — на чистом Python. Возьмём столбец «площадь» и найдём по нему простую статистику. Этот код реально запускается:
# Признак "площадь" из нашего датасета
areas = [40, 60, 80]
prices = [8, 13, 15] # метки, млн руб.
# Простейшая оценка: цена за квадратный метр у каждого объекта
for a, p in zip(areas, prices):
per_m2 = p * 1_000_000 / a
print(f"Площадь {a} м2 -> {per_m2:.0f} руб/м2")
avg_area = sum(areas) / len(areas)
print("Средняя площадь:", avg_area, "м2")
Вывод:
Площадь 40 м2 -> 200000 руб/м2 Площадь 60 м2 -> 216667 руб/м2 Площадь 80 м2 -> 187500 руб/м2 Средняя площадь: 60.0 м2
Итог
- Датасет — таблица: строки-объекты, столбцы-признаки и метка.
- Признаки (X) — входные характеристики; метка (y) — то, что предсказываем.
- Модель связывает X и y; обучение настраивает её, инференс применяет к новым данным.
- Стандартный шаблон в коде: сначала
fit, потомpredict.