Большинству алгоритмов машинного обучения (ML) требуются предварительно обработанные данные в качестве входных данных для правильной работы и построения более точных моделей. Как правило, предварительная обработка данных помогает уменьшить объем анализируемых данных, создать дополнительные информативные функции, сделать сложные базовые зависимости и скрытые шаблоны явными, отбросить неинформативные необработанные сигналы и удалить шум.

Предварительная обработка данных состоит из следующих основных частей:

Очистка и редактирование данных. Это помогает устранить недопустимые значения, выбросы или другие проблемы в данных путем их удаления или исправления. На этом этапе либо заполняются отсутствующие данные (NaN), либо удаляются объекты данных (или признаки данных), содержащие такие отсутствующие значения, если их доля велика. Неверные данные должны быть сначала обнаружены, а затем могут быть исправлены или исключены из набора данных.

Преобразование объектов. Это влияет на значения объектов (распределение изменяется или объекты масштабируются), их тип (непрерывные значения преобразуются в категориальные путем агрегирования), модальность (изображения преобразуются в табличные данные), и т. д. Этот этап в основном включает в себя преобразования, направленные на улучшение качества функций или создание функций, применимых для алгоритмов ML.

Выбор функций: это уменьшает количество функций путем поиска подпространства более низкого измерения с использованием методов уменьшения размерности или просто путем удаления некоторых нерелевантных или избыточных функций. Этот этап направлен на упрощение моделей, снижение сложности обучения модели и избежание проклятия размерности.

Генерация и конструирование признаков. Это включает создание новых признаков на основе логики и знаний предметной области или стандартных преобразований, например, возведение в полиномиальную степень, умножение значений признаков или другие виды пересечения признаков. Этот этап направлен на выявление нелинейных сложных зависимостей в данных и предоставление простых в использовании функций для алгоритмов машинного обучения.

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

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

Более подробную информацию о конкретных операциях, алгоритмах и методах этапа предварительной обработки можно найти в этой статье и ссылках в ней (с упором на данные временных рядов). Некоторые общие варианты и рекомендации по предварительной обработке представлены в этой статье.