Sampling från den bäst passande kontinuerliga fördelningen
Slumpmässigt urval från en välpassande sannolikhetsfördelning bidrar till att bevara integriteten. Samtidigt gör det det möjligt för behöriga parter att genomföra en noggrann statistisk analys av data.
I den här övningen anonymiserar du kolumnen monthly_income från IBM-datamängden. I föregående lektion fastställde du att den kontinuerliga fördelningen exponnorm passar bäst. Använd den för att modellera inkomsterna.
Datamängden är tillgänglig som hr.
Den här övningen är en del av kursen
Dataintegritet och anonymisering i Python
Övningsinstruktioner
- Importera modulen
statsfrån paketetscipy. - Anpassa
exponnorm-fördelningen till den kontinuerliga variabelnmonthly_incomeför att hämta fördelningens parametrar och sedan generera samplen. - Sampla från
exponnorm-fördelningen och ersättmonthly_incomemed hjälp av.rvs()-metoden. Ange storleken till samma längd som kolumnen. - Avrunda lönerna till närmaste heltal.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Import stats from scipy
____
# Fit the exponnorm distribution to the continuous variable monthly income
params = ____
# Sample from the exponnorm distribution and replace monthly income
hr['monthly_income'] = ____
# Round the salaries to their closest integer
hr['monthly_income'] = ____
# See the resulting dataset
print(hr.head())