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

Качество собираемых данных зависит от трех основных факторов:

  1. Точность: ошибочные значения, указывающие на отклонение от ожидаемого.
  2. Полнота: отсутствуют значения атрибутов / функций.
  3. Согласованность: агрегирование данных непоследовательно.

Некоторые причины, которые влияют на упомянутые выше факторы, могут быть:

  • Человеческие / компьютерные ошибки, которые могут возникнуть при вводе и передаче данных.
  • Пользователи вводят неверные значения.
  • Неправильные форматы полей ввода.
  • Отсутствие данных.

Чтобы обеспечить высокое качество данных, очень важно их обрабатывать.

Предварительная обработка данных делится на четыре этапа:

  • Очистка данных
  • Интеграция данных
  • Сжатие данных
  • Преобразование данных.

Очистка данных

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

- ›Обработка отсутствующих значений

Чтобы справиться с отсутствующими данными, мы можем использовать несколько подходов:

  1. Удаление обучающего примера. Самый простой и самый простой способ - это игнорировать конкретный обучающий пример с отсутствующей меткой вывода (если это проблема классификации). Но обычно это не рекомендуется, так как это приводит к потере данных.
  2. Заполнение отсутствующих значений вручную. Другой способ - ввести отсутствующие значения в систему вручную, но это требует много времени и не рекомендуется для огромных наборов данных.
  3. Использование стандартного значения для замены отсутствующего значения: отсутствующее значение можно заменить глобальной константой, например «N / A» или «Unknown». Это очень простой подход, который обычно применяется для предотвращения потери данных и обнаружения недостающих значений.
  4. Использование центральной тенденции (среднее, медиана, мода): на основе распределения данных можно использовать среднее (в случае нормального распределения) или медианное значение (для ненормального распределения). чтобы заполнить недостающее значение.

- ›Обработка зашумленных данных

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

Чтобы справиться с этими аномальными значениями, мы используем методы сглаживания данных, которые описаны ниже:

  1. Группирование: это процесс разделения непрерывной меры на дискретные интервалы, называемые ячейками, и затем мы ищем в этих ячейках шум в данных. Существуют различные подходы к биннингу. Двумя из них являются сглаживание по средствам бинов, где каждый интервал заменяется средним значением интервалов, и сглаживание медианами интервалов , где каждая ячейка заменяется медианой значений ячейки.
  2. Регрессия: для сглаживания данных можно использовать линейную регрессию и множественную линейную регрессию, когда значения соответствуют функции.
  3. Анализ выбросов: для обнаружения выбросов и обработки их соответствующим образом можно использовать такие подходы, как кластеризация.

Интеграция данных

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

  1. Консолидация данных: данные физически покупаются вместе в одно хранилище данных. Обычно это включает хранилище данных.
  2. Распространение данных. Копирование данных из одного места в другое с помощью приложений называется распространением данных. Он может быть синхронным или асинхронным и управляемым событиями.
  3. Виртуализация данных. Интерфейс используется для обеспечения единого представления данных из нескольких источников в реальном времени. Данные можно просматривать из единой точки доступа.

Сжатие данных

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

  1. Соотношение пропущенных значений: атрибуты, для которых количество пропущенных значений превышает пороговое значение, удаляются.
  2. Фильтр низкой дисперсии: нормализованные атрибуты, для которых дисперсия (распределение) меньше порогового значения, также удаляются, поскольку небольшие изменения в данных означают меньше информации.
  3. Фильтр высокой корреляции: нормализованные атрибуты, у которых коэффициент корреляции превышает пороговое значение, также удаляются, поскольку аналогичные тенденции означают, что передается аналогичная информация. Коэффициент корреляции обычно рассчитывается с использованием статистических методов, таких как значение хи-квадрат Пирсона и т. Д.
  4. Анализ главных компонентов: PCA - это статистический метод, который уменьшает количество атрибутов за счет группировки сильно коррелированных атрибутов вместе. На каждой итерации исходные функции сводятся к основным компонентам с большей дисперсией, чем исходный набор, при условии, что они не коррелируют с предыдущими компонентами. Этот метод подходит только для функций с числовыми значениями.

Преобразование данных

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

  1. Сглаживание
  2. Создание атрибутов / функций: новые атрибуты создаются на основе заданного набора атрибутов.
  3. Агрегация: операции сводки и агрегирования применяются к заданному набору атрибутов, чтобы получить новые атрибуты.
  4. Нормализация: данные в каждом атрибуте масштабируются между меньшим диапазоном (например, от 0 до 1 или от -1 до 1).
  5. Дискретность: исходные значения числовых атрибутов заменяются дискретными или концептуальными интервалами, которые, в свою очередь, могут быть дополнительно организованы в интервалы более высокого уровня.
  6. Создание иерархии понятий для номинальных данных. Значения номинальных данных обобщаются для концепций более высокого порядка.

Несмотря на наличие нескольких подходов к предварительной обработке данных, это все еще активно исследуемая область из-за того, что каждый день с огромной скоростью генерируется количество несогласованных данных.

Использованная литература :

Вы можете попробовать реализовать предварительную обработку данных с помощью pandas здесь: https://github.com/bhartendudubey/Data-Preprocessing

Для лучшего понимания можно рассмотреть следующие статьи:

  1. Предварительная обработка данных - Машинное обучение

2. Методы предварительной обработки данных, которые вы должны знать

3. Предварительная обработка данных в Python