# Einführung
Produktionsdaten unterliegt in der Regel erheblichen Datenschutz- und Compliance-Einschränkungen. Aus diesem Grund ist die Anonymisierung solcher Daten in praktisch jedem realen Knowledge-Science-Projekt, bei dem es um die Einführung eines datengesteuerten Produkts, einer datengesteuerten Dienstleistung oder einer datengesteuerten Lösung geht, von entscheidender Bedeutung.
Mimesis ist eine Open-Supply-Python-Bibliothek, die sich durch ihre Fähigkeit auszeichnet, realistische „falsche“ Daten auf leistungsstarke Weise zu generieren. Mimesis wird lokal ausgeführt und bietet eine kostenlose, robuste Datenpipeline-Lösung. In diesem Artikel erfahren Sie anhand eines Schritt-für-Schritt-Beispiels, wie Sie diese Bibliothek zur Anonymisierung vertraulicher Produktionsdaten nutzen können und das Sie ganz einfach in Ihrer IDE oder einer Pocket book-Umgebung ausprobieren können.
# Schritt-für-Schritt-Anleitung
Vorausgesetzt, Sie sind neu bei Mimesis, müssen Sie es möglicherweise mit einem Befehl wie dem folgenden in Ihrer Python-Umgebung installieren:
Denken Sie daran, hinzuzufügen ! am Anfang des pip Befehl, wenn Sie in einer Google Colab-Notizbuchumgebung oder einer ähnlichen Umgebung arbeiten.
Jetzt kann es losgehen! Wir betrachten ein Szenario, bei dem es um das stufenbasierte Abonnementsystem eines Softwareprodukts geht. Der Einfachheit halber werden wir synthetisch einen Spielzeugdatensatz generieren, der Daten über Kunden und deren Abonnementtyp enthält. Einige der Datensatzvariablen enthalten hochsensible Daten, wie Sie unten sehen können:
import pandas as pd
# Creation of a mock "manufacturing" buyer dataset
production_data = {
'user_id': (101, 102, 103, 104),
'real_name': ('Alice Smith', 'Bob Jones', 'Charlie Brown', 'Diana Prince'),
'e-mail': ('alice.smith@corp.com', 'bjones@startup.io', 'cbrown@area.org', 'diana@amazon.com'),
'telephone': ('555-0100', '555-0101', '555-0102', '555-0103'),
'subscription_tier': ('Premium', 'Fundamental', 'Fundamental', 'Enterprise')
}
df = pd.DataFrame(production_data)
print("--- Unique Delicate Knowledge ---")
print(df.head())
Während es sich bei den Abonnementstufen in unserem Beispiel nicht unbedingt um vertrauliche Daten handelt, sind es Benutzernamen, E-Mails und Telefonnummern. Mit Hilfe von Mimesis können wir a initialisieren Anbieter: eine Artwork maßgeschneiderte Datenanonymisierungsvorlage, die auf die Artwork der uns vorliegenden Daten abgestimmt ist. Da unsere Datenbeobachtungen mit Personen verknüpft sind, können wir diese importieren und verwenden Individual Klasse – ein Anbieter, der bei einer bestimmten Sprache wie Englisch und unterstützt durch einen zufälligen Startwert verwendet werden kann, um gefälschte Ersatzstoffe für echte, smart persönliche Daten zu generieren:
from mimesis import Individual
from mimesis.locales import Locale
# Initializing a Individual supplier for English locales
particular person = Individual(locale=Locale.EN, seed=42)
Ab diesem Zeitpunkt ist der Prozess zur Anonymisierung personenbezogener Daten (PII) recht einfach. Es reicht aus, die von uns angegebenen sensiblen Spalten durch frisch generierte Daten aus dem Mimesis-Personengebietsschemagenerator zu ersetzen. Dies geschieht durch Iteration durch DataFrame Objekt, das den gesamten Datensatz enthält und geeignete Mimesis-Funktionen aufruft, um abhängig von jedem gegebenen Attribut realistisch Ersatz für die Daten zu erstellen:
# 1. Changing actual names with pretend, life like names
df('real_name') = (particular person.full_name() for _ in vary(len(df)))
# 2. Changing actual emails with pretend ones
df('e-mail') = (particular person.e-mail() for _ in vary(len(df)))
# 3. Changing actual telephone numbers
df('telephone') = (particular person.phone() for _ in vary(len(df)))
# 4. Renaming the column to mirror that it's not the true title
df.rename(columns={'real_name': 'anon_name'}, inplace=True)
Beachten Sie oben, wie Mimesis‘ Individual Die Klasse bietet dedizierte Funktionen unter anderem zum Generieren vollständiger Namen, E-Mail-Adressen und Telefonnummern. Darüber hinaus wird die Namensspalte umbenannt, um zu verdeutlichen, dass der im aktualisierten Datensatz enthaltene Title nicht mehr echt, sondern anonymisiert ist.
Wir jetzt Überprüfen Sie die Ergebnisse indem man das Verwandelte betrachtet DataFrame. Die sensiblen PII-Felder haben sich komplett verändert: Sie werden jetzt mit legitim aussehenden synthetischen Daten überschrieben, wodurch der Gesamtdatensatz strukturiert bleibt und wichtige Informationen für nachgelagerte Analysen wie z. B subscription_tier absolut intakt.
print("n--- Anonymized Knowledge for Knowledge Science Analyses ---")
print(df.head())
Ausgabe:
--- Anonymized Knowledge for Knowledge Science Analyses ---
user_id anon_name e-mail telephone
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@instance.com +1-574-481-3676
subscription_tier
0 Premium
1 Fundamental
2 Fundamental
3 Enterprise
Fantastisch! Wir haben gerade ein paar einfache Schritte durchgeführt, um mehrere smart Datenfelder zu anonymisieren, die typischerweise in realen, produktiven Knowledge-Science-Projekten und -Analysen vorkommen – und das alles kostenlos, da Mimesis Open Supply ist.
Zum Abschluss hier einige Greatest Practices Und Beobachtungen Für die Durchführung des Anonymisierungsprozesses haben wir gerade Folgendes behandelt:
- Wir haben die Spalten direkt im ersetzt
DataFrame. Überlegen Sie je nach Kontext, ob dies der richtige Ansatz ist oder ob Sie die neuen Informationen möglicherweise separat speichern möchtenDataFramewenn die Gefahr besteht, dass die Originaldaten verloren gehen. - Mimesis arbeitet datenkonsistent, sodass die generierten Daten den erwarteten Datentypen entsprechen.
- Seeding trägt dazu bei, die generierten Informationen über verschiedene Läufe hinweg konsistent zu halten und die Reproduzierbarkeit zu erleichtern.
# Zusammenfassung
In diesem Artikel haben wir gezeigt, wie man Mimesis – eine leistungsstarke Python-Bibliothek zur anonymisierten und gefälschten Datengenerierung – verwendet, um einen sensiblen Produktionsdatensatz in eine Model umzuwandeln, die sicher für weitere Analysen verwendet werden kann, ohne non-public Informationen wie die personenbezogenen Daten echter Personen zu gefährden.
Iván Palomares Carrascosa ist ein führender Autor, Redner und Berater in den Bereichen KI, maschinelles Lernen, Deep Studying und LLMs. Er schult und leitet andere darin, KI in der realen Welt zu nutzen.
