차등 프라이버시 클러스터링 모델

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

Rebeca Gonzalez

Data engineer

모델 비교

비프라이빗 k-평균으로 클러스터링한 뒤 3개 클러스터가 보이는 이미지

프라이빗 k-평균으로 클러스터링한 뒤 3개 클러스터가 보이는 이미지

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

모델 비교

두 클러스터링 결과의 차이를 분홍 점으로 표시한 이미지

  • 모델 간 결과 클러스터의 차이
  • 대부분은 공통됨
Python으로 배우는 데이터 프라이버시와 익명화

차등 프라이빗 클러스터링 모델 구축

from diffprivlib.models import KMeans

# DP 모델로 클러스터 계산 model = KMeans(epsilon=1, n_clusters=3)
# 모델 실행 및 클러스터 획득 clusters = model.fit_predict(X)
Python으로 배우는 데이터 프라이버시와 익명화

DP 클러스터링 모델 개선

  • 클러스터링 전에 데이터를 전처리할 수 있습니다.
  • StandardScaler 같은 특성 스케일링과 PCA 같은 차원 축소를 사용합니다.
    • 모델의 관성 감소
    • 더 정확한 세분화 그룹 도출
  • diffprivlib에서도 sklearn 모델처럼 동일하게 수행합니다.
Python으로 배우는 데이터 프라이버시와 익명화

DP 클러스터링 모델 개선

from sklearn.decomposition import PCA

# PCA 초기화 pca = PCA()
# PCA로 데이터 적합 및 변환 X = pca.fit_transform(X)
# DP 모델로 클러스터 계산 model = dp_Kmeans(epsilon=1, n_clusters=3)
# 모델 실행 및 클러스터 획득 clusters = model.fit_predict(X)
Python으로 배우는 데이터 프라이버시와 익명화

DP 클러스터링 모델 개선

클러스터가 표시된 두 개의 산점도 비교 이미지

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

DP 클러스터링 모델 개선

두 클러스터링 결과의 차이를 분홍 점으로 표시한 이미지

  • 데이터 변환으로 결과 향상
Python으로 배우는 데이터 프라이버시와 익명화

엘보 방법

엘보 방식 적용 후의 결과 플롯 이미지

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

엡실론

from diffprivlib.models import KMeans as model

# DP 모델로 클러스터 계산 model = dp_Kmeans(epsilon=0.2, n_clusters=3)
# 모델 실행 및 클러스터 획득 clusters = model.fit_predict(X)
Python으로 배우는 데이터 프라이버시와 익명화

엡실론

클러스터가 표시된 두 개의 산점도 비교 이미지

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

Ayo berlatih!

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

Preparing Video For Download...