Differentiellt privata klustringsmodeller

Dataintegritet och anonymisering i Python

Rebeca Gonzalez

Data engineer

Jämföra modeller

Bild som visar 3 kluster i data efter klustring med icke-privat k-means

Bild som visar 3 kluster i data efter klustring med privat k-means

Dataintegritet och anonymisering i Python

Jämföra modellerna

Bild som visar skillnaden mellan de två klustringsresultaten, markerade som rosa punkter

  • Skillnad mellan modellernas resulterande kluster
  • De har majoriteten av resultaten gemensamt
Dataintegritet och anonymisering i Python

Bygga differentiellt privata klustringsmodeller

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)
Dataintegritet och anonymisering i Python

Förbättra DP-klustringsmodeller

  • Data kan förbehandlas innan klustring.
  • Särdragsskalning som StandardScaler och dimensionsreduktion som PCA.
    • Minskar modellens tröghet
    • Ger mer exakta segmenteringsgrupper
  • Detta görs med diffprivlib precis som med sklearn-modeller.
Dataintegritet och anonymisering i Python

Förbättra DP-klustringsmodeller

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)
Dataintegritet och anonymisering i Python

Förbättra DP-klustringsmodeller

Bild som visar två resulterande punktdiagram med klustren

Dataintegritet och anonymisering i Python

Förbättra DP-klustringsmodeller

Bild som visar skillnaden mellan de två klustringsresultaten, markerade som rosa punkter

  • Förbättrade resultat med datatransformationer
Dataintegritet och anonymisering i Python

Armbågsmetoden

Bild av det resulterande diagrammet efter att armbågsmetoden tillämpats på data

Dataintegritet och anonymisering i 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)
Dataintegritet och anonymisering i Python

Epsilon

Bild som visar två resulterande punktdiagram med klustren

Dataintegritet och anonymisering i Python

Nu kör vi en övning!

Dataintegritet och anonymisering i Python

Preparing Video For Download...