Differentiële private clusteringmodellen

Dataprivacy en anonimisering in Python

Rebeca Gonzalez

Data engineer

Modellen vergelijken

Afbeelding met 3 clusters na clusteren met niet‑privé k-means

Afbeelding met 3 clusters na clusteren met privé k-means

Dataprivacy en anonimisering in Python

Modellen vergelijken

Afbeelding met het verschil tussen twee clusteringresultaten, weergegeven als roze punten

  • Verschil tussen de clusterresultaten van de modellen
  • Ze hebben het grootste deel van de resultaten gemeen
Dataprivacy en anonimisering in Python

Differentiële private clusteringmodellen bouwen

from diffprivlib.models import KMeans

# Clusters berekenen met het DP‑model model = KMeans(epsilon=1, n_clusters=3)
# Run het model en verkrijg clusters clusters = model.fit_predict(X)
Dataprivacy en anonimisering in Python

DP-clusteringmodellen verbeteren

  • We kunnen data voorbewerken vóór het clusteren.
  • Features schalen met StandardScaler en dimensiereductie zoals PCA.
    • Om de traagheid (inertia) van het model te verlagen
    • Voor nauwkeurigere segmentatiegroepen
  • Met diffprivlib doe je dit net zoals met sklearn-modellen.
Dataprivacy en anonimisering in Python

DP-clusteringmodellen verbeteren

from sklearn.decomposition import PCA

# Initialiseer PCA pca = PCA()
# Pas PCA toe op de data X = pca.fit_transform(X)
# Clusters berekenen met het DP‑model model = dp_Kmeans(epsilon=1, n_clusters=3)
# Run het model en verkrijg clusters clusters = model.fit_predict(X)
Dataprivacy en anonimisering in Python

DP-clusteringmodellen verbeteren

Afbeelding met twee scatterplots met de clusters

Dataprivacy en anonimisering in Python

DP-clusteringmodellen verbeteren

Afbeelding met het verschil tussen twee clusteringresultaten, weergegeven als roze punten

  • Betere resultaten door datatransformaties
Dataprivacy en anonimisering in Python

Elbow-methode

Afbeelding van de plot na toepassing van de elbow-methode

Dataprivacy en anonimisering in Python

Epsilon

from diffprivlib.models import KMeans as model

# Clusters berekenen met het DP‑model model = dp_Kmeans(epsilon=0.2, n_clusters=3)
# Run het model en verkrijg clusters clusters = model.fit_predict(X)
Dataprivacy en anonimisering in Python

Epsilon

Afbeelding met twee scatterplots met de clusters

Dataprivacy en anonimisering in Python

Laten we oefenen!

Dataprivacy en anonimisering in Python

Preparing Video For Download...