從相同機率分佈進行抽樣
許多機構(例如 U.S. Census)會公開釋出他們針對民眾所蒐集資料的樣本。這些資料集會先以各種技術匿名化,接著只釋出 1% 到 5% 的極小樣本,以便他人進行計算。抽樣通常能保留資料的統計特性,讓人們研究並理解背後的母體。
在這個練習中,你將透過從原始資料集的分佈進行抽樣,來匿名化 IBM HR 資料集的 department 欄位。
資料集已載入為 hr。
本練習屬於課程
Data Privacy and Anonymization in Python
練習說明
- 取得
department欄位中每個不重複值的相對頻率。 - 從
counts中取出機率,並將其存入名為distributions的變數。 - 依據前一步計算的機率分佈進行抽樣。抽樣的大小應與
hr資料集的大小相同。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# 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())