Нормализация и масштабирование данных

Тема дорожной карты · Основы машинного обучения

Нормализация и масштабирование признаков (feature scaling) — это важные шаги предобработки данных, которые позволяют привести числовые признаки к общему масштабу, сохраняя при этом различия в диапазонах значений. Эти операции критически важны для многих алгоритмов машинного обучения, поскольку неправильное масштабирование может существенно снизить качество модели и замедлить процесс обучения.

Как это работает

Нормализация и масштабирование данных занимают значительную часть ML-проекта — от 70 до 80%. Процесс включает несколько ключевых шагов: сбор данных из различных источников (базы данных, API, веб-скрапинг, внутренние логи); очистка данных от пропущенных значений, выбросов, дубликатов и ошибок типов; исследовательский анализ данных (EDA) для понимания распределений, корреляций и баланса классов; разделение данных на обучающую, валидационную и тестовую выборки; нормализацию и стандартизацию признаков для приведения их к сравнимой шкале. Для выполнения этих задач используются различные инструменты, такие как Pandas для работы с табличными данными, dvc и lakeFS для версионирования данных, а также Great Expectations и Pandera для определения контрактов качества данных.

Когда применять

Всегда следует проводить исследовательский анализ данных (EDA) до этапа моделирования, чтобы получить представление о распределениях данных, балансе классов и паттернах пропущенных значений. Эти характеристики могут существенно влиять на выбор алгоритма и методов предобработки данных. Важно сплитировать данные до любой нормализации, чтобы избежать утечки информации. Статистические метрики, такие как среднее значение и стандартное отклонение, следует вычислять на обучающей выборке и применять на валидационной и тестовой выборках. Это предотвратит утечку информации из тестового набора данных. Для несбалансированных классов рекомендуется использовать стратифицированный сплит. Кроме того, важно документировать происхождение данных (data lineage) — через полгода вы можете забыть, откуда взята каждая колонка.

Типичные ошибки

Некоторые из наиболее распространенных ошибок при нормализации и масштабировании данных включают утечку данных (data leakage), когда будущая информация попадает в обучающую выборку; нормализацию до разделения на обучающую, валидационную и тестовую выборки, что приводит к утечке статистики; замену пропущенных значений так, что это разрушает сигнал (например, замена пропущенных значений на ноль, когда ноль сам по себе имеет значение "пропущенное значение"); и отсутствие стратификации на несбалансированных классах, что может привести к тому, что тестовый набор данных не будет содержать положительных примеров, делая метрики, такие как AUC, неопределенными.

Связанные понятия

Полезные ресурсы