Stichproben aus derselben Wahrscheinlichkeitsverteilung ziehen
Viele Organisationen, wie zum Beispiel das U.S. Census, veröffentlichen öffentlich Stichproben von Daten, die sie über Privatpersonen sammeln. Diese Datensätze werden zunächst mit verschiedenen Techniken anonymisiert und anschließend wird ein winziger Anteil von 1 % bis 5 % einer Stichprobe freigegeben, um Berechnungen zu ermöglichen. Es ist bekannt, dass Sampling die statistischen Eigenschaften der Daten bewahrt, sodass Menschen die zugrunde liegende Population untersuchen und verstehen können.
In dieser Übung anonymisierst du die Spalte department des IBM-HR-Datensatzes, indem du aus den Verteilungen des Originaldatensatzes ziehst.
Der Datensatz wurde als hr geladen.
Diese Übung ist Teil des Kurses
Datenschutz und Anonymisierung mit Python
Anleitung zur Übung
- Ermittle die relativen Häufigkeiten jedes eindeutigen Werts in der Spalte
department. - Extrahiere die Wahrscheinlichkeiten aus
countsund speichere sie in einer Variablen namensdistributions. - Ziehe Stichproben aus den zuvor berechneten Wahrscheinlichkeitsverteilungen. Die Größe der Stichprobe sollte der Größe des
hr-Datensatzes entsprechen.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Obtain the probability distribution counts
counts = ____
# Get the probability distribution values
distributions = ____
# Sample from the calculated probability distributions
hr['department'] = np.random.choice(counts.index,
p=____,
size=len(____))
# See the resulting DataFrame
print(hr.head())