Steekproeven trekken uit de best passende continue verdeling
Willekeurig steekproeven trekken uit een goed passende kansverdeling helpt de privacy te behouden. Tegelijkertijd kunnen bevoegde partijen zo een nauwkeurige statistische analyse van de data uitvoeren.
In deze oefening ga je de kolom monthly_income uit de IBM-gegevensset anonimiseren. In de vorige les heb je bepaald dat de continue verdeling exponnorm het beste past. Gebruik die om de inkomens te modelleren.
De gegevensset is beschikbaar als hr.
Deze oefening maakt deel uit van de cursus
Dataprivacy en anonimisering in Python
Oefeninstructies
- Importeer de module
statsuit het pakketscipy. - Pas de
exponnorm-verdeling op de continue variabelemonthly_incometoe om de parameters van de verdeling te verkrijgen en later de steekproeven te genereren. - Trek steekproeven uit de
exponnorm-verdeling en vervangmonthly_incomemet de.rvs()-methode. Stel de size in op dezelfde waarde als de lengte van de kolom. - Rond de salarissen af op het dichtstbijzijnde gehele getal.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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())