1. Очистить данные.
При очистке данных удаляют устаревшие данные, дубликаты, аномалии, пропуски и ошибки. Но не всегда можно просто убрать все некачественные данные. Иногда их так много, что удаление повлияет на результаты машинного обучения, поэтому данные придётся редактировать.
2. Редактировать данные.
Данные могут быть записаны с ошибками или в разных форматах, поэтому их нужно корректировать. Например, в таблице может быть по-разному указано название одного и того же населённого пункта: «посёлок Заозёрный», «п. Заозёрный», «пос. Заозёрный», «поселок Заозерный». Модель будет воспринимать эти названия как разные значения, поэтому придётся привести записи к одному формату. Что касается числовых данных, то, чтобы привести их к единому формату, например, можно преобразовать значения в диапазон от 0 до 1.
3. Заполнить пропуски.
В работе с пропусками есть разные подходы. Их выбор зависит от видов и источников данных. Но сначала специалисту нужно разобраться, почему появились пропуски.
Пропуски можно заполнить наиболее вероятным значением. Например, в форме для объявления о продаже автомобиля есть графа с информацией об участии в авариях. В графе есть два варианта ответа — «да» и «нет». Специалист, который проводит подготовку данных для машинного обучения, знает, что на основе статистики эту графу чаще пропускают в случае отсутствия аварий. Поэтому он может заполнить пропуски наиболее вероятным значением — «нет».
Числовые показатели можно заменить, например, на усреднённые значения или построить алгоритм на основе взаимосвязей между показателями. С помощью такого алгоритма для каждого пропуска рассчитывается собственное значение.
4. Форматировать данные.
Инструменты машинного обучения, как правило, работают с данными в табличном формате. Поэтому набор чисел и текстовые записи преобразовывают в форматы .csv, .xls, .xlsx.
Исходные данные в виде изображений тоже преобразовывают. Их можно конвертировать в один формат или сжать до определённого размера. К изображениям могут применять чёрно-белый или другой единый цветовой фильтр и обрезать. Например, если нужна информация из конкретного поля на скане документа, которое заполняется от руки, то все сканы можно автоматически обрезать на определённое количество пикселей со всех сторон.
5. Отобрать признаки данных.
Некоторые признаки могут быть сильно связаны между собой, поэтому приводят к утечке данных. Допустим, есть два признака — год рождения и возраст. Если выгрузка данных происходит в один день, то один из этих признаков стоит удалить.
Отбор признаков также делают, чтобы снизить эффект шума. В этом случае удаляют те признаки, которые в наименьшей степени влияют на целевой показатель. Предположим, нужно сделать прогноз размера заработной платы. На этот показатель в большей степени повлияет сфера занятости и стаж работы, а вот день и месяц рождения сотрудника нет, значит, эти значения можно убрать.
Подготовка данных для машинного обучения начинается с исследовательского анализа данных. В результате выявляют параметры данных, закономерности, ошибки, аномалии и пропуски. Специалисты по Data Science проводят исследовательский анализ данных с помощью специальных инструментов и библиотек, например Jupyter Notebook, Pandas, Matplotlib и SciPy.
Для одних задач будет достаточно и среднего значения, для других — нужно провести дополнительную работу по сбору данных.
Основной принцип подготовки данных в том, что для принятия решений в процессе Data Preparation специалисту нужно применять собственную экспертную оценку. Поэтому кроме инструментов большую роль играет опыт специалиста. Начинающий эксперт может упустить важные моменты в процессе подготовки данных. Например, заполнить пропуски средними показателями в задаче, в которой для точности будущей модели нужно отдельно посчитать значение для каждого пропуска с помощью алгоритма.
1. Выгрузка данных и преобразование в нужный формат.
Все данные для анализа переводят в табличный формат, который можно загрузить в Pandas или другой инструмент для подготовки данных. В табличном формате все показатели разносят по разным колонкам.
3. Работа с каждой колонкой по отдельности.
Специалист сам принимает решение, что делать с данными в каждой конкретной колонке: какой подход выбрать для заполнения пропусков и какие показатели убрать из таблицы. Решение зависит от результатов исследовательского анализа, целей машинного обучения, ресурсов, которые есть у специалиста.
Бывает, что данные, которые нужно подготовить, оказываются настолько некачественными, что их невозможно преобразовать и использовать в аналитике и задачах машинного обучения. Например, могут быть собраны данные, которые не отображают бизнес-процессы, или сбор данных был неправильно организован. Если сотрудники компании собирали данные вручную, не имея нужных навыков, в них может быть много ошибок и некорректных значений.
В таких ситуациях нужно сообщить заказчику о проблеме и собрать данные заново. Тогда к подготовке данных добавляется ещё один этап — их сбор.
Ян Анисимов
Подготовка данных — это кропотливый процесс, на который уходит большая часть времени специалиста по Data Scienсе. Но это важнейшая часть работы, от которой зависит точность и эффективность обучаемых моделей. Именно во время подготовки данных могут появляться идеи для решения бизнес-задач и гипотезы для машинного обучения.
Читать также: