Закажи экспресс-аудит своего дела онлайн всего за 199 ₽
и получи рекомендации по улучшению - Жми сюда !

Анонимизация производственных данных для анализа данных с помощью Mimesis

Узнайте, как использовать библиотеку Mimesis в Python для анонимизации конфиденциальных производственных данных, на примере, который вы можете попробовать сами.

Анонимизация производственных данных для анализа данных с помощью Mimesis

# Введение

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

Mimesis — это библиотека Python с открытым исходным кодом, которая выделяется своей способностью генерировать реалистичные «поддельные» данные с высокой производительностью. Mimesis работает локально и предоставляет бесплатное и надежное решение для обработки данных. В этой статье мы покажем, как использовать эту библиотеку для анонимизации конфиденциальных производственных данных, на пошаговом примере, который вы легко можете попробовать в своей IDE или среде блокнота.

# Пошаговая процедура

Если вы новичок в Mimesis, вам может потребоваться установить его в среду Python с помощью команды, подобной следующей:

pip install mimesis

Не забудьте добавить восклицательный знак (!) в начало команды pip, если вы работаете в среде блокнотов Google Colab или аналогичной.

Итак, мы готовы начать! Рассмотрим сценарий, основанный на многоуровневой системе подписки в программном продукте. Для простоты мы синтетически сгенерируем тестовый набор данных, содержащий информацию о клиентах и типах их подписки. В некоторых переменных набора данных содержится крайне конфиденциальная информация, как вы можете видеть ниже:

import pandas as pd # Создание фиктивного набора данных о клиентах «production» production_data = { 'user_id': [101, 102, 103, 104], 'real_name': ['Alice Smith', 'Bob Jones', 'Charlie Brown', 'Diana Prince'], 'email': ['alice.smith@corp.com', 'bjones@startup.io', 'cbrown@domain.org', 'diana@amazon.com'], 'phone': ['555-0100', '555-0101', '555-0102', '555-0103'], 'subscription_tier': ['Premium', 'Basic', 'Basic', 'Enterprise'] } df = pd.DataFrame(production_data) print(«— Исходные конфиденциальные данные —«) print(df.head())

Хотя в нашем примере уровни подписки не обязательно являются конфиденциальными данными, имена пользователей, адреса электронной почты и номера телефонов — являются. С помощью Mimesis мы можем инициализировать поставщика : своего рода шаблон анонимизации данных, адаптированный к типу имеющихся у нас данных. Поскольку наши данные связаны с людьми, мы можем импортировать и использовать класс Person — поставщика, который, при наличии определенного языка, например английского, и с помощью случайного начального значения, может использоваться для генерации поддельных заменителей реальных, конфиденциальных персональных данных:

from mimesis import Person from mimesis.locales import Locale # Инициализация поставщика Person для английской локали person = Person(locale=Locale.EN, seed=42)

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

# 1. Замена реальных имен на вымышленные, реалистичные имена df['real_name'] = [person.full_name() for _ in range(len(df))] # 2. Замена реальных адресов электронной почты на вымышленные df['email'] = [person.email() for _ in range(len(df))] # 3. Замена реальных номеров телефонов df['phone'] = [person.telephone() for _ in range(len(df))] # 4. Переименование столбца, чтобы отразить, что это больше не настоящее имя df.rename(columns={'real_name': 'anon_name'}, inplace=True)

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

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

print(«n— Анонимизированные данные для анализа данных —«) print(df.head())

Выход:

— Анонимизированные данные для анализа данных — user_id anon_name email phone 0 101 Anthony Reilly archived1911@duck.com +13312271333 1 102 Kai Day suspect2087@yahoo.com +1-205-759-3586 2 103 Cleveland Osborn urgent1912@yahoo.com +13691067988 3 104 Zack Holder johnson1881@example.com +1-574-481-3676 subscription_tier 0 Premium 1 Basic 2 Basic 3 Enterprise

Замечательно! Мы только что применили несколько простых шагов для анонимизации ряда конфиденциальных полей данных, обычно встречающихся в реальных проектах и анализах данных в сфере производственной науки о данных — и все это бесплатно, благодаря тому, что Mimesis является проектом с открытым исходным кодом.

В заключение, вот несколько рекомендаций и наблюдений по проведению процесса анонимизации, который мы только что рассмотрели:

  • Мы заменили столбцы непосредственно в DataFrame. В зависимости от вашей ситуации, подумайте, является ли это правильным подходом, или же вам, возможно, следует хранить новую информацию в отдельном DataFrame, если существует риск потери исходных данных.
  • Mimesis работает в режиме согласованности данных, поэтому сгенерированные данные соответствуют ожидаемым типам данных.
  • Инициализация генератора случайных чисел помогает поддерживать согласованность генерируемой информации в разных запусках и обеспечивает воспроизводимость результатов.

# Завершение

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

Иван Паломарес Карраскоса — лидер, писатель, спикер и консультант в области искусственного интеллекта, машинного обучения, глубокого обучения и магистратуры. Он обучает и направляет других в применении ИИ в реальном мире.

Источник: www.kdnuggets.com

✅ Найденные теги: Анализа, Анонимизация, Данных, новости, Помощью, Производственных

Добавить комментарий

Нет других записей в этой рубрике.

Новости других рубрик

Архив рубрики ~Лента новостей~: Apple заявляет, что иск Epic не должен менять правила App Store для всех разработчиков. Архив рубрики ~Лента новостей~: Водить полезно для здоровья Архив рубрики ~Лента новостей~: Карманный компьютер OneXPlayer X1 Pro обновился до процессора Ryzen AI 9 HX 470 Архив рубрики ~Лента новостей~: Принципы построения колоды для писателей: как создать эффективный инструмент для творчества Архив рубрики ~Лента новостей~: Все в режиме реального времени занимаются вопросами безопасности ИИ — даже Google. Архив рубрики ~Лента новостей~: Структура с дифференциальной приватностью для получения информации об использовании чат-ботов на основе ИИ. Архив рубрики ~Лента новостей~: Компании Cepheid и Oxford Nanopore расширяют партнерство, Revvity запускает новую платформу и многое другое. Архив рубрики ~Лента новостей~: Принципы работы современного ИИ: глубокое обучение и трансформеры