Достижение небес данных

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

Необработанные данные имеют ценность, но эту ценность можно увеличить, переработав данные в информацию. Информация пригодна для дополнительного анализа (машинного обучения или иного), который преобразует ее в знания. Выполнение этих преобразований данных требует усилий, но после их выполнения вы получаете данные в форме, подходящей для повторного использования. Становится проще использовать в последующих анализах новые и более совершенные методы. Если вы спланируете свою стратегию обработки данных и автоматизируете эти преобразования с помощью конвейера обработки данных, вы сможете сэкономить много времени своим разработчикам и специалистам по данным и попасть в рай данных!

Стратегия сбора данных

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

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

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

Подводные камни

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

Следуйте спецификациям, используйте правильные форматы типов данных и убедитесь, что у вас есть хорошие библиотеки для обработки данных. Это облегчит написание аналитического кода, и код, скорее всего, будет работать лучше. ISO имеет стандарты для определенных типов данных, особенно меток времени.

Компании утонут в данных IoT, если не планируют, как с ними обращаться. Обратите внимание на частоту дискретизации данных — они быстро складываются, и вам, вероятно, все это не нужно. Научитесь обобщать данные для удовлетворения своих аналитических потребностей — возможно, вам просто нужны предупреждения, 10-минутные средние значения или преобразование Фурье, чтобы показать закономерность в данных. Ваши данные текстовые или бинарные? Хранение числовых данных IoT в виде двоичных данных намного эффективнее и сэкономит деньги.

  • Есть ли у вас разрешение на сбор данных, которые вы собираете?
  • Защищаются ли данные в соответствии с действующим законодательством? Это особенно важно для медицинских и правительственных данных/данных Министерства обороны, а также если у вас есть клиенты из Европы.
  • Собирают ли ваши разработчики данные в соответствии с вашей собственной политикой конфиденциальности?

Информационные сайты Data Compliance: https://gdpr.eu/, https://www.hhs.gov/hipaa/index.html, https://www.archives.gov/cui

Курирование

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

Метаданные

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

Метаданные загружаются в поисковую систему, например Elasticsearch, для поддержки обнаружения данных. Elasticsearch великолепен (использую его с 2015 года, а Apache SOLR за много лет до этого), и вы также можете использовать Kibana для составления отчетов о ваших данных. Поисковая система на основе метаданных работает очень хорошо и требует меньше оборудования, чем полнотекстовый поиск тех же данных. В случае числовых данных (таких как датчики IoT) поиск нецелесообразен, поэтому требуются метаданные.

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

Безопасность

Данные являются основным компонентом вашей интеллектуальной собственности и должны быть защищены несколькими линиями защиты: сетевой защитой для ограничения общего доступа, программным контролем доступа для ограничения внутреннего доступа и контролем полей данных (шифрование, хеширование или даже запутывание с помощью фиктивных данных). колонны) в качестве финальной защиты. Существует множество угроз: ближневосточные вайперы уничтожают ваши данные, организованная преступность использует программы-вымогатели для блокировки ваших данных или просто кражи ценных данных (кредитных карт, результатов тестов на наркотики, интеллектуальной собственности), публичное раскрытие данных, которое может лишить вас конкурентного преимущества, вызвать затруднения или привести к другим повреждениям. Просто проверьте новости об атаке недели и извлеченных уроках. Если вам нужна помощь в улучшении или создании средств контроля кибербезопасности, см. https://www.nist.gov/cyberframework. Это не только для правительства и является отличным ресурсом.

Контроль качества/контроль данных

Обеспечение качества (QA) используется для предотвращения дефектов, но что такое дефект данных? Примерами дефектов являются неправильные значения (числа вне допустимого диапазона), неправильно классифицированные данные, отсутствующие данные временных рядов или сбой конвейера обработки, поэтому данные не преобразуются (например, сбой при нормализации). Чтобы предотвратить это, вам нужна надежная обработка исключений. Если конвейер выходит из строя, пытаетесь ли вы перезапустить его и восстановить недостающие данные? Приводят ли исключения в коде к тому, что в полях данных используются неинициализированные переменные («нулевые» значения)? Для предотвращения дефектов требуются передовые инженерные методы, в том числе проверки кода, высокое покрытие кода модульными тестами, проверка и ограничения полей в Интернете/базе данных или даже некоторое тестирование Chaos Monkey для проверки наличия надежных конвейеров.

Контроль качества (КК) используется для обнаружения дефектов. После того, как ваши данные помещены в хранилище, вы когда-нибудь проверяете их на наличие проблем? Поможет выборка данных и сравнение их с ожидаемыми значениями путем запуска тестового кода. Например, тестирование по граничным значениям может выявить аномалии. Проверьте данные геолокации на соответствие правилам широты и долготы (и общим значениям по умолчанию 0,0 и где-то в Канзасе). Проверьте датчики на ожидаемые диапазоны значений — есть ли смысл в 1 000 000 вольт? Возможно нет. Обратите особое внимание на поля без ограничений, такие как столбец базы данных, определенный как varchar. Ограничения прикладного уровня могут быть нарушены внутренней обработкой или прямым API в систему хранения данных, где ограничений не существует.

Преимущества машинного обучения

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

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

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

Автоматизируйте конвейер данных

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

https://mlflow.org/

https://www.kubeflow.org/

https://www.prefect.io/

https://airflow.apache.org/

https://nifi.apache.org

https://github.com/quantumblacklabs/kedro



Фото Кредит

Мне! Это было снято где-то в Испании, может быть, в Кордове, лет 10 назад. Отсюда потеря памяти.