Некоторые методы машинного обучения для оценки качества данных
«Мусор на входе, мусор на выходе», в мире данных мы часто слышим эту фразу, которая означает, что если ваши данные «плохие», вы никогда не сможете принимать «хорошие» решения (держим пари, что вы этого не ожидали: P).
Путь от «плохого» к «хорошему» - вот что такое качество данных. Плохие данные могут означать многое, например:
- Данные устарели, Своевременность
- Данные неточные, Точность
- Данные имеют разные значения для разных пользователей, или нет единого источника правды, согласованности
- Данные недоступны. Удобство
- Данные недоступны, Доступность
Этот документ прекрасно определяет различные измерения данных, пожалуйста, прочтите, чтобы узнать о нем больше.
Качество данных важно и имеет решающее значение для всех сфер деятельности, но как инженер по обработке данных мы несем главную ответственность за предоставление данных, которые мы доставляем «хорошие».
Мой опыт:
Для обеспечения качества данных я также внедрил решения на основе правил, чтобы позаботиться о:
- Плохая схема
- Повторяющиеся данные
- Поздние данные
- Аномальные данные
В основном это было связано с четким пониманием того, какие данные я собираюсь скармливать системе, и, конечно, в свою очередь, обобщая то же самое для всей структуры конвейера данных.
Хотя автоматизированная система помогает перейти от реактивного подхода к проактивному подходу, проблема с системой, основанной на правилах, заключается в
- В нем может быть слишком много правил для многомерных данных с большим количеством элементов.
- Для каждой новой ошибки, каждой новой аномалии структура качества данных нуждается в некоторой индивидуальной реализации, т.е. вмешательство человека было неизбежным в таком решении.
Чтобы преодолеть вмешательство человека в сценарий, основанный на правилах, нам нужно искать полностью автоматизированную систему. Со многими недавними разработками ML является одной из областей, которые могут помочь в достижении этого.
Давайте посмотрим, как машины помогут нам здесь в обеспечении автоматизированного качества данных или выходе за рамки очевидного?
Прежде чем обсуждать, как, давайте обсудим, почему?
Почему машинное обучение для качества данных?
- Модели машинного обучения могут учиться на огромных объемах данных и могут находить в них скрытые закономерности.
- Может решать повторяющиеся задачи
- Нет необходимости соблюдать правила
- Может развиваться по мере развития данных
Но я также хотел бы отметить, что приведенный выше список выглядит как предвыборный баннер для ML в качестве кандидата, его использование зависит от варианта использования, а также ML обычно не работает с небольшими наборами данных или наборами данных, которые не работают. Не показываю никакого рисунка.
Сказав это, давайте посмотрим на некоторые из приложений машинного обучения относительно качества данных:
- Определить неправильные данные
- Определить неполные данные
- Определить конфиденциальные данные для соответствия (возможно, идентификация PII)
- Дедупликация данных с использованием методов нечеткого сопоставления (иногда просто сделать уникальные данные не удается)
- Заполните недостающие данные, оценивая исторические закономерности
- Оповещение о потенциальном нарушении SLA с использованием исторической информации (скажем, используя историческую информацию, система обнаруживает резкое увеличение объема данных, которое может повлиять на SLA)
- Может помочь в эффективной разработке новых бизнес-правил (определение подходящих пороговых значений)
Некоторые методы машинного обучения, которые можно использовать для повышения качества данных
Уменьшение размерности
Снижение размерности - это метод машинного обучения, используемый для выявления закономерностей в данных и решения сложных вычислительных задач. Этот метод включает набор алгоритмов, направленных на уменьшение количества входных переменных в наборе данных за счет определения важности каждого столбца.
Его можно использовать для идентификации и удаления столбцов, которые не приносят почти никакой информации во множестве столбцов и, следовательно, излечивают Проклятие размерности (Подробнее)
Его часто можно использовать в качестве первого алгоритма перед подачей данных для любого другого алгоритма качества данных. Уменьшение размерности полезно при работе с визуальными и аудиоданными, включая сжатие речи, видео или изображений.
Пример: UMAP, PCA.
Кластеризация
Кластеризация объединяет данные в группы (кластеры) на основании их сходства и несходства.
Пример: DBSCAN
Обнаружение аномалий
Алгоритм обнаружения аномалий сам по себе не является независимым. Часто это сопровождается алгоритмами уменьшения размерности и кластеризации. Используя алгоритм уменьшения размерности в качестве предварительного этапа для обнаружения аномалии, мы, во-первых, преобразуем пространство большой размерности в пространство меньшей размерности. Затем мы можем вычислить плотность основных точек данных в этом низкоразмерном пространстве, которое можно определить как «нормальное». Эти точки данных, расположенные далеко от «нормального» пространства, являются выбросами или «аномалиями».
Пример: ARIMA
Association Rule Mining
Анализ ассоциаций - это неконтролируемый алгоритм машинного обучения, используемый для выявления скрытых взаимосвязей в больших наборах данных, которые часто встречаются вместе.
Этот алгоритм обычно используется для идентификации шаблонов и ассоциаций в транзакционной, реляционной или любой подобной базе данных. Например, можно построить алгоритм машинного обучения, который будет анализировать рыночную корзину посредством обработки данных со сканеров штрих-кода и определять товары, купленные вместе.
Ну вот и все! Обсудив различные подходы к качеству данных с помощью машинного обучения, я хочу подчеркнуть, что не существует единого решения, подходящего для всех потребностей DQ. Это может отличаться от варианта использования к варианту использования, в некоторых случаях система на основе правил может быть идеальной, но по мере роста и изменений данных, в конечном итоге переход к подходу машинного обучения к качеству данных может помочь нам выйти за рамки очевидное. Добро пожаловать в будущее!
Я также напишу следующую статью о том, как технологические гиганты используют машинное обучение для повышения качества данных.
До следующего раза,
JD
Ссылки:
Https://engineering.linkedin.com/blog/2020/data-sentinel-automating-data-validation