가장 적합한 연속형 분포에서 샘플링하기
적합도가 높은 확률분포에서 무작위 샘플링을 하면 프라이버시를 지키면서도, 승인된 사용자들이 데이터를 정확하게 통계 분석할 수 있습니다.
이 연습 문제에서는 IBM 데이터셋의 monthly_income 열을 익명화해 보겠습니다. 이전 레슨에서 연속형 분포인 exponnorm이 가장 잘 맞는 것으로 확인했죠. 이를 사용해 소득을 모델링하세요.
데이터셋은 hr로 제공됩니다.
이 연습은 강의의 일부입니다
Python으로 배우는 데이터 프라이버시와 익명화
연습 안내
scipy패키지에서stats모듈을 임포트하세요.- 연속형 변수
monthly_income에exponnorm분포를 적합해 분포의 모수를 얻고, 이후 샘플을 생성하세요. exponnorm분포에서 샘플링하여.rvs()메서드로monthly_income을 대체하세요. 크기(size)는 해당 열의 길이와 동일하게 지정하세요.- 급여는 가장 가까운 정수로 반올림하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# 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())