Campionare dalla migliore distribuzione continua
Un campionamento casuale da una distribuzione di probabilità ben adattata aiuta a mantenere la privacy. Allo stesso tempo, permette alle parti autorizzate di condurre un'analisi statistica accurata dei dati.
In questo esercizio, renderai anonima la colonna monthly_income del dataset IBM. Nella lezione precedente, hai stabilito che la distribuzione continua exponnorm è il miglior adattamento. Usala per modellare i redditi.
Il dataset è disponibile come hr.
Questo esercizio fa parte del corso
Riservatezza dei dati e anonimizzazione in Python
Istruzioni dell'esercizio
- Importa il modulo
statsdal pacchettoscipy. - Adatta la distribuzione
exponnormalla variabile continuamonthly_incomeper ottenere i parametri della distribuzione e generare successivamente i campioni. - Campiona dalla distribuzione
exponnorme sostituiscimonthly_incomeusando il metodo.rvs(). Specifica la size uguale alla lunghezza della colonna. - Arrotonda gli stipendi all'intero più vicino.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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())