差分隐私聚类模型

Python 中的数据隐私与匿名化

Rebeca Gonzalez

Data engineer

模型对比

非隐私 k-means 聚类后显示 3 个簇的图像

差分隐私 k-means 聚类后显示 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 中的数据隐私与匿名化

Epsilon

from diffprivlib.models import KMeans as model

# 使用 DP 模型计算聚类 model = dp_Kmeans(epsilon=0.2, n_clusters=3)
# 运行模型并获得聚类 clusters = model.fit_predict(X)
Python 中的数据隐私与匿名化

Epsilon

显示两个聚类散点图的图像

Python 中的数据隐私与匿名化

Vamos praticar!

Python 中的数据隐私与匿名化

Preparing Video For Download...