Sampling från samma sannolikhetsfördelning
Många organisationer, till exempel U.S. Census, publicerar dataurval som de har samlat in om privatpersoner. Dessa datamängder anonymiseras först med olika tekniker, varefter en liten andel – vanligtvis 1–5 % – släpps för att möjliggöra beräkningar. Sampling bevarar datans statistiska egenskaper, vilket gör det möjligt att studera och förstå den underliggande populationen.
I den här övningen anonymiserar du kolumnen department i IBM HR-datamängden genom att sampla från den ursprungliga datamängdens fördelningar.
Datamängden har laddats in som hr.
Den här övningen är en del av kursen
Dataintegritet och anonymisering i Python
Övningsinstruktioner
- Hämta de relativa frekvenserna för varje unikt värde i kolumnen
department. - Extrahera sannolikheterna från
countsoch lagra dem i en variabel kalladdistributions. - Sampla från de tidigare beräknade sannolikhetsfördelningarna. Urvalets storlek ska vara densamma som
hr-datamängdens storlek.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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())