Методы предварительной обработки данных для машинного обучения

После предыдущих постов о проблемах в промышленных данных логичным продолжением является рассказ о методах обработки данных. Данный пост частично является переводом статьи на медиум и основан на обзорной научной статье, где мы с коллегами как раз говорим о проблемах в промышленных данных (коротко) и методах предварительной обработки (подробно).

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

Классификация этапов предварительной обработки с основными деталями представлена на этой картинке:

Этапы, методы и подходы к предварительной обработке данных
Этапы, методы и подходы к предварительной обработке данных

Подробнее остановимся на каждом из этапов:

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

Feature transformation (преобразование/трансформация признаков): На этом этапе изменяются значения признаков (изменяется распределение, например, признаки масштабируются), их тип (непрерывные значения преобразуются в категориальные путем агрегирования и бинаризации), модальность (изображения преобразуются в табличные данные) и т. д. Этот этап в основном включает преобразования, направленные на улучшение качества признаков (и данных) или трансформацию признаков таким образом, чтобы они были применимы для машинного обучения.

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

Feature generation and construction (создание/генерация признаков): Данный этап включает в себя создание новых признаков на основе логики и знаний предметной области или математических преобразований, например, возведение в полиномиальную степень, перемножение значений признаков или другие виды смешения признаков. Этот этап направлен на выявление нелинейных сложных зависимостей в данных, преобразование их в явных вид (в виде нового признака) и создание более простых в использовании признаков для моделей машинного обучения.

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

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

Некоторые общие рекомендации по предварительной обработке представлены также в этой статье.

Я создал телеграм канал DataKatser, где появляюсь гораздо чаще и делюсь своими мыслями и интересными кейсами по data science, машинному обучению и искусственному интеллекту. Буду рад вашей подписке!

11
Начать дискуссию