연속형 데이터 익명화

Python으로 배우는 데이터 프라이버시와 익명화

Rebeca Gonzalez

Instructor

연속형 변수

  • age
  • height
  • weight
  • temperature
  • date and time
Python으로 배우는 데이터 프라이버시와 익명화

연속형 변수

# 데이터셋 확인
hr.head()
    Age    BusinessTravel        Department                EducationField    EmployeeNumber
0    41    Travel_Rarely         Sales                     Life Sciences     1
1    49    Travel_Frequently     Research & Development    Life Sciences     2
2    37    Travel_Rarely         Research & Development    Other             4
3    33    Travel_Frequently     Research & Development    Life Sciences     5
4    27    Travel_Rarely         Research & Development    Medical           7
Python으로 배우는 데이터 프라이버시와 익명화

연속 분포

데이터에 가장 적합한 연속 분포를 찾습니다.

  • 히스토그램 생성
  • 여러 연속 함수로 적합 시도
  • 히스토그램과의 오차가 가장 작은 함수를 선택
Python으로 배우는 데이터 프라이버시와 익명화

연속 분포

Age 변수의 분포 플롯

Python으로 배우는 데이터 프라이버시와 익명화

분포 적용

import scipy.stats


# 연속 변수 Age에 genlogistic 분포 적합 params = scipy.stats.genlogistic.fit(hr['Age'])
# 연속 함수의 매개변수 확인 print(params)
(4.9899067653418285, 22.32808853181744, 7.046590524738551)
Python으로 배우는 데이터 프라이버시와 익명화

연속 분포에서 샘플링

# 일반 로지스틱 분포에서 샘플링
df['Age'] = scipy.stats.genlogistic.rvs(size=len(df.index), *params)


# 결과 데이터셋 확인 df['Age'].head()
     Age          BusinessTravel     Department                EducationField    EmployeeNumber
0    40.767259    Travel_Rarely      Sales                     Life Sciences     1
1    45.730504    Travel_Frequently  Research & Development    Life Sciences     2
2    41.910050    Travel_Rarely      Research & Development    Other             4
3    35.275320    Travel_Frequently  Research & Development    Life Sciences     5
4    40.198134    Travel_Rarely      Research & Development    Medical           7
Python으로 배우는 데이터 프라이버시와 익명화

연속 분포에서 샘플링

# 반올림하여 이산값으로 변환
df['Age'] = df['Age'].round()
     Age   BusinessTravel     Department                EducationField    EmployeeNumber
0    41    Travel_Rarely      Sales                     Life Sciences     1
1    46    Travel_Frequently  Research & Development    Life Sciences     2
2    42    Travel_Rarely      Research & Development    Other             4
3    35    Travel_Frequently  Research & Development    Life Sciences     5
4    40    Travel_Rarely      Research & Development    Medical           7
Python으로 배우는 데이터 프라이버시와 익명화

연습해 봅시다!

Python으로 배우는 데이터 프라이버시와 익명화

Preparing Video For Download...