В 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)
- Полиномиальные признаки: Добавление степеней (, ) и взаимодействий () для улавливания нелинейных зависимостей.
- Биннинг (дискретизация): Разбиение непрерывного признака на интервалы (бины). Может улучшить работу деревьев и устойчивость к выбросам.
- Агрегация: Создание признаков на основе группировки (например, средний чек по клиенту, количество транзакций).
Ключевые принципы выбора метода:
- Цель преобразования: Улучшение интерпретируемости, стабилизация дисперсии, приведение к нормальному распределению, масштабирование для алгоритма.
- Тип данных: Числовые, категориальные, текстовые, временные ряды, изображения.
- Требования алгоритма: Линейные модели и методы расстояний требуют масштабирования, деревьям — нет. PCA чувствителен к масштабу.
- Избегание утечки данных (Data Leakage): Все преобразования, основанные на статистиках (среднее, std, min/max), должны вычисляться только на тренировочной выборке и затем применяться к тестовой.
Грамотное сочетание этих методов — ключевой этап пайплайна Data Science, напрямую влияющий на качество и интерпретируемость конечной модели.