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
<Kurs>Datenschutz und Anonymisierung mit Python</Kurs>Übungsanweisungen
- 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 praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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())