Modelli di clustering differenzialmente privati

Riservatezza dei dati e anonimizzazione in Python

Rebeca Gonzalez

Data engineer

Confronto dei modelli

Immagine con 3 cluster nei dati dopo k-means non privato

Immagine con 3 cluster nei dati dopo k-means privato

Riservatezza dei dati e anonimizzazione in Python

Confronto tra i modelli

Immagine che mostra la differenza tra i due risultati di clustering come punti rosa

  • Differenza tra i cluster risultanti dei modelli
  • Condividono la maggior parte dei risultati
Riservatezza dei dati e anonimizzazione in Python

Creare modelli di clustering differenzialmente privati

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)
Riservatezza dei dati e anonimizzazione in Python

Migliorare i modelli DP di clustering

  • Possiamo pre-processare i dati prima del clustering.
  • Scaling delle feature come StandardScaler e riduzione dimensionale come PCA.
    • Per ridurre l’inerzia del modello
    • Ottenere gruppi di segmentazione più accurati
  • Con diffprivlib lo fai come con i modelli sklearn.
Riservatezza dei dati e anonimizzazione in Python

Migliorare i modelli DP di clustering

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)
Riservatezza dei dati e anonimizzazione in Python

Migliorare i modelli DP di clustering

Immagine con due scatter plot risultanti con i cluster

Riservatezza dei dati e anonimizzazione in Python

Migliorare i modelli DP di clustering

Immagine che mostra la differenza tra i due risultati di clustering come punti rosa

  • Risultati migliori usando trasformazioni dei dati
Riservatezza dei dati e anonimizzazione in Python

Elbow method

Grafico risultante dopo aver applicato l’elbow method ai dati

Riservatezza dei dati e anonimizzazione in Python

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)
Riservatezza dei dati e anonimizzazione in Python

Epsilon

Immagine con due scatter plot risultanti con i cluster

Riservatezza dei dati e anonimizzazione in Python

Ayo berlatih!

Riservatezza dei dati e anonimizzazione in Python

Preparing Video For Download...