Steekproeven trekken uit dezelfde kansverdeling
Veel organisaties, zoals de U.S. Census, publiceren steekproeven van gegevens die ze verzamelen over burgers. Deze gegevenssets worden eerst geanonimiseerd met verschillende technieken, en vervolgens wordt een heel klein deel van 1% tot 5% vrijgegeven om berekeningen mogelijk te maken. Steekproeven staan erom bekend dat ze de statistische eigenschappen van de data behouden, zodat mensen de onderliggende populatie kunnen bestuderen en begrijpen.
In deze oefening ga je de kolom department van de IBM HR-gegevensset anonimiseren door te steekproeven uit de verdelingen van de oorspronkelijke gegevensset.
De gegevensset is geladen als hr.
Deze oefening maakt deel uit van de cursus
Dataprivacy en anonimisering in Python
Oefeninstructies
- Bepaal de relatieve frequenties van elke unieke waarde in de kolom
department. - Haal de kansen uit
countsen sla ze op in een variabeledistributions. - Trek een steekproef uit de eerder berekende kansverdelingen. De grootte van de steekproef moet gelijk zijn aan de grootte van de
hr-gegevensset.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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())