Все мы знаем, что объем данных вокруг нас быстро увеличивается, а также вероятность наличия аномалий в этих данных. Причиной таких аномалий в данных может быть что угодно, например, происхождение разнородных источников, или они могут быть связаны с огромными размерами. Учитывая тот факт, что высококачественные данные позволяют создавать лучшие модели и прогнозы, предварительная обработка данных стала жизненно важной и важнейшим фундаментальным шагом в области науки о данных / машинного обучения.
Качество собираемых данных зависит от трех основных факторов:
- Точность: ошибочные значения, указывающие на отклонение от ожидаемого.
- Полнота: отсутствуют значения атрибутов / функций.
- Согласованность: агрегирование данных непоследовательно.
Некоторые причины, которые влияют на упомянутые выше факторы, могут быть:
- Человеческие / компьютерные ошибки, которые могут возникнуть при вводе и передаче данных.
- Пользователи вводят неверные значения.
- Неправильные форматы полей ввода.
- Отсутствие данных.
Чтобы обеспечить высокое качество данных, очень важно их обрабатывать.
Предварительная обработка данных делится на четыре этапа:
- Очистка данных
- Интеграция данных
- Сжатие данных
- Преобразование данных.
Очистка данных
Очистку данных можно объяснить как процесс «очистки» данных путем удаления выбросов, замены отсутствующих значений, сглаживания зашумленных данных и исправления несогласованных данных.
- ›Обработка отсутствующих значений
Чтобы справиться с отсутствующими данными, мы можем использовать несколько подходов:
- Удаление обучающего примера. Самый простой и самый простой способ - это игнорировать конкретный обучающий пример с отсутствующей меткой вывода (если это проблема классификации). Но обычно это не рекомендуется, так как это приводит к потере данных.
- Заполнение отсутствующих значений вручную. Другой способ - ввести отсутствующие значения в систему вручную, но это требует много времени и не рекомендуется для огромных наборов данных.
- Использование стандартного значения для замены отсутствующего значения: отсутствующее значение можно заменить глобальной константой, например «N / A» или «Unknown». Это очень простой подход, который обычно применяется для предотвращения потери данных и обнаружения недостающих значений.
- Использование центральной тенденции (среднее, медиана, мода): на основе распределения данных можно использовать среднее (в случае нормального распределения) или медианное значение (для ненормального распределения). чтобы заполнить недостающее значение.
- ›Обработка зашумленных данных
Шум в данных определяется как случайная дисперсия измеряемой переменной. Проще говоря, зашумленные данные - это данные с большим количеством дополнительной бессмысленной информации (данные могут быть повреждены или искажены).
Чтобы справиться с этими аномальными значениями, мы используем методы сглаживания данных, которые описаны ниже:
- Группирование: это процесс разделения непрерывной меры на дискретные интервалы, называемые ячейками, и затем мы ищем в этих ячейках шум в данных. Существуют различные подходы к биннингу. Двумя из них являются сглаживание по средствам бинов, где каждый интервал заменяется средним значением интервалов, и сглаживание медианами интервалов , где каждая ячейка заменяется медианой значений ячейки.
- Регрессия: для сглаживания данных можно использовать линейную регрессию и множественную линейную регрессию, когда значения соответствуют функции.
- Анализ выбросов: для обнаружения выбросов и обработки их соответствующим образом можно использовать такие подходы, как кластеризация.
Интеграция данных
Поскольку данные собираются из нескольких источников, интеграция данных стала жизненно важной частью этого процесса. Это может привести к появлению избыточных и противоречивых данных по разным причинам, что может привести к снижению точности и скорости модели данных. Для решения этих проблем и поддержания целостности данных требуются такие подходы, как обнаружение дублирования кортежей и обнаружение конфликтов данных. Наиболее распространенные подходы к интеграции данных:
- Консолидация данных: данные физически покупаются вместе в одно хранилище данных. Обычно это включает хранилище данных.
- Распространение данных. Копирование данных из одного места в другое с помощью приложений называется распространением данных. Он может быть синхронным или асинхронным и управляемым событиями.
- Виртуализация данных. Интерфейс используется для обеспечения единого представления данных из нескольких источников в реальном времени. Данные можно просматривать из единой точки доступа.
Сжатие данных
Целью сокращения данных является сжатое представление набора данных меньшего объема при сохранении целостности оригинала. Это приводит к эффективным, но схожим результатам, поскольку улучшает качество данных. Вот несколько способов уменьшить объем данных:
- Соотношение пропущенных значений: атрибуты, для которых количество пропущенных значений превышает пороговое значение, удаляются.
- Фильтр низкой дисперсии: нормализованные атрибуты, для которых дисперсия (распределение) меньше порогового значения, также удаляются, поскольку небольшие изменения в данных означают меньше информации.
- Фильтр высокой корреляции: нормализованные атрибуты, у которых коэффициент корреляции превышает пороговое значение, также удаляются, поскольку аналогичные тенденции означают, что передается аналогичная информация. Коэффициент корреляции обычно рассчитывается с использованием статистических методов, таких как значение хи-квадрат Пирсона и т. Д.
- Анализ главных компонентов: PCA - это статистический метод, который уменьшает количество атрибутов за счет группировки сильно коррелированных атрибутов вместе. На каждой итерации исходные функции сводятся к основным компонентам с большей дисперсией, чем исходный набор, при условии, что они не коррелируют с предыдущими компонентами. Этот метод подходит только для функций с числовыми значениями.
Преобразование данных
Последний шаг предварительной обработки данных - преобразование данных в форму, подходящую для моделирования данных. Это можно сделать:
- Сглаживание
- Создание атрибутов / функций: новые атрибуты создаются на основе заданного набора атрибутов.
- Агрегация: операции сводки и агрегирования применяются к заданному набору атрибутов, чтобы получить новые атрибуты.
- Нормализация: данные в каждом атрибуте масштабируются между меньшим диапазоном (например, от 0 до 1 или от -1 до 1).
- Дискретность: исходные значения числовых атрибутов заменяются дискретными или концептуальными интервалами, которые, в свою очередь, могут быть дополнительно организованы в интервалы более высокого уровня.
- Создание иерархии понятий для номинальных данных. Значения номинальных данных обобщаются для концепций более высокого порядка.
Несмотря на наличие нескольких подходов к предварительной обработке данных, это все еще активно исследуемая область из-за того, что каждый день с огромной скоростью генерируется количество несогласованных данных.
Использованная литература :
Вы можете попробовать реализовать предварительную обработку данных с помощью pandas здесь: https://github.com/bhartendudubey/Data-Preprocessing
Для лучшего понимания можно рассмотреть следующие статьи:
2. Методы предварительной обработки данных, которые вы должны знать