Diferenciálně privátní clusteringové modely

Ochrana soukromí a anonymizace dat v Pythonu

Rebeca Gonzalez

Data engineer

Porovnání modelů

Obrázek zobrazující 3 clustery v datech po clusteringu pomocí neprivátního k-means

Obrázek zobrazující 3 clustery v datech po clusteringu pomocí privátního k-means

Ochrana soukromí a anonymizace dat v Pythonu

Porovnání modelů

Obrázek zobrazující rozdíl mezi výsledky clusteringu dvou modelů jako růžové body

  • Rozdíl mezi clustery výsledků obou modelů
  • Většina výsledků je společná
Ochrana soukromí a anonymizace dat v Pythonu

Tvorba diferenciálně privátních clusteringových modelů

from diffprivlib.models import KMeans

# Computing the clusters with the DP model model = KMeans(epsilon=1, n_clusters=3)
# Run the model and obtain clusters clusters = model.fit_predict(X)
Ochrana soukromí a anonymizace dat v Pythonu

Vylepšení DP clusteringových modelů

  • Data lze před clusteringem předzpracovat.
  • Škálování příznaků (StandardScaler) a redukce dimenzionality (PCA).
    • Ke snížení inercie modelu
    • Přesnější segmentační skupiny
  • S diffprivlib se postupuje stejně jako s modely sklearn.
Ochrana soukromí a anonymizace dat v Pythonu

Vylepšení DP clusteringových modelů

from sklearn.decomposition import PCA

# Initialize PCA pca = PCA()
# Fit transform data with PCA X = pca.fit_transform(X)
# Computing the clusters with the DP model model = dp_Kmeans(epsilon=1, n_clusters=3)
# Run the model and obtain clusters clusters = model.fit_predict(X)
Ochrana soukromí a anonymizace dat v Pythonu

Vylepšení DP clusteringových modelů

Obrázek zobrazující dva výsledné bodové grafy s clustery

Ochrana soukromí a anonymizace dat v Pythonu

Vylepšení DP clusteringových modelů

Obrázek zobrazující rozdíl mezi dvěma výsledky clusteringu jako růžové body

  • Vylepšené výsledky pomocí datových transformací
Ochrana soukromí a anonymizace dat v Pythonu

Metoda lokte

Obrázek výsledného grafu po aplikaci metody lokte na data

Ochrana soukromí a anonymizace dat v Pythonu

Epsilon

from diffprivlib.models import KMeans as model

# Computing the clusters with the DP model model = dp_Kmeans(epsilon=0.2, n_clusters=3)
# Run the model and obtain clusters clusters = model.fit_predict(X)
Ochrana soukromí a anonymizace dat v Pythonu

Epsilon

Obrázek zobrazující dva výsledné bodové grafy s clustery

Ochrana soukromí a anonymizace dat v Pythonu

Pojďme si procvičit!

Ochrana soukromí a anonymizace dat v Pythonu

Preparing Video For Download...