Próbkowanie z zachowaniem tego samego rozkładu prawdopodobieństwa
Wiele organizacji, takich jak US Census Bureau, publicznie udostępnia próbki zebranych danych o obywatelach. Zbiory te są najpierw anonimizowane przy użyciu różnych technik, a następnie publikowana jest niewielka część – od 1% do 5% – co pozwala na wykonywanie obliczeń. Próbkowanie zachowuje statystyczne właściwości danych, umożliwiając analizę i lepsze zrozumienie całej populacji.
W tym ćwiczeniu zanoninimizujesz kolumnę department z zbioru danych IBM HR, próbkując dane zgodnie z rozkładem oryginalnego zbioru.
Zbiór danych został wczytany jako hr.
To ćwiczenie jest częścią kursu
Prywatność danych i anonimizacja w Pythonie
Instrukcje do ćwiczenia
- Oblicz względne częstości każdej unikalnej wartości w kolumnie
department. - Wyodrębnij prawdopodobieństwa z obiektu
countsi zapisz je w zmiennej o nazwiedistributions. - Wykonaj próbkowanie na podstawie wcześniej obliczonych rozkładów prawdopodobieństwa. Rozmiar próby powinien być taki sam jak rozmiar zbioru danych
hr.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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())