Признаки и их типы в машинном обучении

Узнайте, как превратить любые данные — от временных рядов и GPS до картинок и аудио — в мощные предикторы, которые заставят вашу модель работать на ура!

Самое главное помнить, что предсказатели (признаки, фичи) – это любые данные, которые могут помочь модели «узнать» закономерности между входом и целевой переменной. В традиционном подходе в качестве предикторов используют числовые и категориальные атрибуты, но в реальных проектах их гораздо больше: временные ряды, географические координаты, графовые структуры, тексты, изображения, аудио‑сигналы и даже внешние API‑данные. Ниже мы рассмотрим самые популярные группы предсказателей, их особенности и способы подготовки.

Классические табличные предикаторы

Это те признаки, которые обычно встречаются в базах данных:

  • Числовые (continuous) – возраст, доход, температура.
  • Категориальные (discrete) – пол, страна, тип продукта.
  • Бинарные – присутствует/отсутствует, признак‑флаг.

Для них важно выполнить:

  1. Удаление пропусков (na.omit, imputation).
  2. Отбрасывание нуль‑вариантных переменных (с единственным значением).
  3. Масштабирование (StandardScaler, MinMaxScaler) и кодирование категорий (One‑Hot, Label Encoding).

Временные предикаторы (Time‑series features)

Когда объект имеет временную динамику, отдельные «точки» данных уже не достаточны – нужно извлекать свойства временного ряда.

  • Лаговые признаки – значение переменной за t‑1, t‑2 …
  • Скользящие статистики – среднее, медиана, дисперсия за последние k периодов.
  • Периодичность – дни недели, месяц, праздничные дни.
  • Экспоненциальное сглаживание – ETS‑компоненты (trend, seasonality).

Для их построения удобно использовать библиотеки pandas (добавление shift, rolling), tsfresh или featuretools.

Гео‑пространственные предикаторы

Если объект привязан к координатам, добавляются гео‑информационные признаки:

  • Широта / долгота.
  • Дистанция до ближайшего центра (магазина, аэропорта).
  • Кластерные метки (например, K‑means по координатам).
  • Покрывающие признаки из GIS‑слоёв: тип местности, плотность населения, средний доход района.

Очень важно учитывать корректный способ расчёта расстояний (геодезические формулы, haversine) и проектировать координаты в подходящую проекцию.

Текстовые предикаторы

Текстовые данные превращаются в числовые векторные представления.

  1. Bag‑of‑Words / TF‑IDF – простейший способ, подходит для небольших наборов.
  2. Word‑embeddings (Word2Vec, GloVe) – фиксированный вектор для каждого токена.
  3. Контекстные модели (BERT, RoBERTa) – генерируют эмбеддинги целых предложений.
  4. Sentiment‑score, количество слов, длина текста, наличие специфических слов‑ключей.

Для построения таких признаков удобно применять scikit‑learn, gensim, transformers.

Изображения и видео‑признаки

В задачах компьютерного зрения исходные пиксели становятся предикторами, но обычно их заменяют более абстрактными:

  • Глобальные описатели – среднее значение цвета, гистограммы градиентов (HOG).
  • Преобразования CNN – выходы слоёв предобученных сетей (ResNet, EfficientNet) как вектор фиксированной длины.
  • Видео‑признаки – optical flow, количество сцен, средняя яркость кадра.

Эти признаки позволяют использовать классические модели (Random Forest, XGBoost) без необходимости обучать тяжёлую нейронную сеть «с нуля».

Аудио‑ и сигнальные предикаторы

Для звуковых файлов извлекаются спектральные характеристики:

  • MFCC (Mel‑Frequency Cepstral Coefficients).
  • Zero‑Crossing Rate, Energy, Spectral Centroid.
  • Показатели длительности, темпа, пауз.

Эти признаки часто комбинируются с рекуррентными моделями (LSTM, GRU) или трансформерами.

Предикторы из внешних API и «обогащённые» данные

Сегодня многие проекты используют сторонние сервисы:

  • Курсы валют, цены на нефть, индексы фондового рынка.
  • Метеорологические данные (температура, осадки) – полезно в прогнозе спроса.
  • Социальные сигналы: количество упоминаний в соцсетях, индекс тревожности.
  • Данные о дорожном движении, загруженности публичного транспорта.

Важно фиксировать время запроса и сохранять «snapshot», чтобы обеспечить воспроизводимость экспериментов.

Признаки‑счётчики и агрегаты (Feature engineering on aggregates)

Для больших таблиц часто используют агрегаты по группам:

  1. Среднее/медиана/сумма продаж по клиенту.
  2. Количество активных дней за последний месяц.
  3. Процент выполнения KPI за квартал.
  4. RFM‑метрики (Recency, Frequency, Monetary).

Эти признаки позволяют захватить «исторический контекст» без явного построения временных рядов.

Методы отбора и оценки важности предикторов

После того как набор потенциальных признаков собран, необходимо отобрать действительно информативные:

  • Wrapper‑методы: forward selection, backward elimination, recursive feature elimination (RFE).
  • Embedded‑методы: LASSO, ElasticNet, деревья решений (feature_importances_), SHAP, permutation importance.
  • Filter‑методы: корреляционный анализ, взаимная информация, F‑тест.

Комбинация нескольких подходов (например, фильтр → rfe) часто даёт лучший результат.

Примеры реального применения разных типов предсказателей

Сфера Типы предикаторов Краткое описание применения
Финансы Числовые, временные, внешние (курсы валют, индексы) Прогнозирование цены акций, оценка кредитного риска.
Э‑коммерс Текст (отзывы), изображение (фото товара), RFM‑агрегаты Рекомендательные системы, предсказание оттока клиентов.
Медицина Числовые (лабораторные показатели), временные (динамика симптомов), графовые (медицинская сеть) Оценка риска осложнений, предсказание выживаемости.
Логистика Гео‑координаты, дорожные данные, погодные условия Оптимизация маршрутов, прогноз времени доставки.

Набор предикаторов может включать любые измеримые свойства объекта – от простых чисел до сложных эмбеддингов изображений и сигналов из внешних сервисов. Главное – корректно подготовить данные (удалить NA, нормализовать, обеспечить репрезентативность) и затем с помощью проверенных методов отбора оставить только те признаки, которые действительно повышают предсказательную силу модели.

Контакты для обращений

Если у вас возникли вопросы по построению и использованию предикаторов, вы можете связаться со мной любым удобным способом:

  • Электронная почта: ml.expert@example.com – ответы в течение 24 часов.
  • Телефон: +7 (495) -23‑45‑67 (рабочие часы 09:00‑18:00 по московскому времени).
  • Telegram: @ml_consultant – быстрый чат‑бот с примерами кода.
  • LinkedIn: Профиль специалиста – публикации, вебинары и воркшопы.
  • GitHub: ml-expert/feature-catalog – репозиторий с готовыми шаблонами предикаторов.

Буду рад помочь вам подобрать оптимальный набор предсказателей для вашего проекта!