В Data Science существует множество методов преобразования данных, которые можно разделить на несколько основных категорий. Вот наиболее распространенные и важные из них:

1. Предобработка и очистка данных

  • Обработка пропущенных значений (Missing Values):
    • Удаление строк/столбцов ().
    • Замена на статистические показатели: среднее (), медиану (), моду ().
    • Предсказание значений с помощью моделей (KNN, регрессии).
    • Создание бинарного признака “пропуск”.
  • Обработка выбросов (Outliers):
    • Методы на основе стандартного отклонения (например, правило 3σ).
    • Метод межквартильного размаха (IQR).
    • Визуализация (boxplot).
    • Трансформация (логарифмирование) или “усечение” (winsorization).

2. Масштабирование и нормализация числовых признаков

  • Стандартизация (Standardization, Z-score scaling): . Приводит данные к распределению с μ=0 и σ=1. Важно для методов, чувствительных к масштабу (градиентный спуск, SVM, PCA, K-means).
  • Мин-макс нормализация (Min-Max Scaling): . Сжимает значения в диапазон [0, 1] (или другой). Чувствительна к выбросам.
  • Масштабирование к абсолютному максимуму (MaxAbsScaler): Делит на максимальное абсолютное значение. Диапазон [-1, 1].
  • Robust Scaling: Использует медиану и межквартильный размах. Устойчив к выбросам.

3. Преобразование распределения

  • Логарифмирование (Log Transform): . Для работы с правосторонней асимметрией (skewness).
  • Преобразование Бокса-Кокса (Box-Cox Transform): Параметрическое преобразование для стабилизации дисперсии и приближения к нормальному распределению (только для положительных данных).
  • Преобразование Йео-Джонсона (Yeo-Johnson Transform): Обобщение Бокса-Кокса, работает с любыми числами.
  • Квантильное преобразование (Quantile Transformer): Приводит данные к равномерному или нормальному распределению на основе рангов. Мощный, но может переобучаться.

4. Кодирование категориальных признаков

  • One-Hot Encoding (OHE): Создает N бинарных столбцов для N уникальных категорий. Подходит для номинативных (порядка нет) признаков. Может приводить к разряженности данных.
  • Label Encoding (Ordinal Encoding): Присваивает каждой категории число (0, 1, 2…). Только для порядковых признаков (категории с явным ранжиром). Для номинативных может ввести ложный порядок.
  • Target Encoding (Mean Encoding): Замена категории на среднее значение целевой переменной для этой категории. Риск утечки данных и переобучения (требует аккуратной валидации).
  • Frequency Encoding: Замена категории на частоту её появления в данных.
  • Binary Encoding: Комбинация Label Encoding и последующего перевода в двоичную систему, которая разбивается на столбцы. Эффективна для признаков с высокой кардинальностью.

5. Работа с текстовыми данными (NLP)

  • Векторизация (Bag of Words, TF-IDF): Преобразование текста в числовой вектор (частоты слов, важность с учетом всей коллекции).
  • Лемматизация и стемминг: Приведение слов к нормальной (базовой) форме.
  • Векторные представления слов (Word Embeddings): , , — преобразуют слова в плотные векторы, сохраняя семантические связи.
  • Токенизация: Разбиение текста на слова, символы или n-граммы.

6. Работа с временными рядами

  • Создание лаговых признаков (Lags): Значения целевой переменной в предыдущие моменты времени (, ).
  • Скользящее окно (Rolling Statistics): Среднее, стандартное отклонение, минимум, максимум за последние N периодов.
  • Разложение ряда: На тренд, сезонность и остаток.
  • Извлечение признаков из даты/времени: День недели, месяц, час, квартал, признак выходного дня.

7. Понижение размерности

  • Метод главных компонент (PCA): Линейное преобразование, находящее новые оси максимальной дисперсии. Уменьшает шум и корреляции.
  • t-SNE, UMAP: Нелинейные методы для визуализации многомерных данных в 2D/3D, хорошо сохраняющие локальные структуры.
  • Автоэнкодеры (Autoencoders): Нейросетевой метод нелинейного сжатия и восстановления данных.

8. Создание новых признаков (Feature Engineering)

  • Полиномиальные признаки: Добавление степеней (, ) и взаимодействий () для улавливания нелинейных зависимостей.
  • Биннинг (дискретизация): Разбиение непрерывного признака на интервалы (бины). Может улучшить работу деревьев и устойчивость к выбросам.
  • Агрегация: Создание признаков на основе группировки (например, средний чек по клиенту, количество транзакций).

Ключевые принципы выбора метода:

  1. Цель преобразования: Улучшение интерпретируемости, стабилизация дисперсии, приведение к нормальному распределению, масштабирование для алгоритма.
  2. Тип данных: Числовые, категориальные, текстовые, временные ряды, изображения.
  3. Требования алгоритма: Линейные модели и методы расстояний требуют масштабирования, деревьям — нет. PCA чувствителен к масштабу.
  4. Избегание утечки данных (Data Leakage): Все преобразования, основанные на статистиках (среднее, std, min/max), должны вычисляться только на тренировочной выборке и затем применяться к тестовой.

Грамотное сочетание этих методов — ключевой этап пайплайна Data Science, напрямую влияющий на качество и интерпретируемость конечной модели.