โมเดลการจัดกลุ่มแบบ Differential Privacy

ความเป็นส่วนตัวของข้อมูลและการทำให้ข้อมูลไม่ระบุตัวตนด้วย Python

Rebeca Gonzalez

Data engineer

เปรียบเทียบโมเดล

ภาพแสดง 3 กลุ่มในข้อมูล หลังจากจัดกลุ่มด้วย k-means แบบไม่มี Privacy

ภาพแสดง 3 กลุ่มในข้อมูล หลังจากจัดกลุ่มด้วย k-means แบบ Private

ความเป็นส่วนตัวของข้อมูลและการทำให้ข้อมูลไม่ระบุตัวตนด้วย Python

เปรียบเทียบโมเดล

ภาพแสดงความแตกต่างระหว่างผลการจัดกลุ่มทั้งสองแบบ แสดงเป็นจุดสีชมพู

  • ความแตกต่างระหว่างกลุ่มที่ได้จากทั้งสองโมเดล
  • ผลลัพธ์ส่วนใหญ่ตรงกัน
ความเป็นส่วนตัวของข้อมูลและการทำให้ข้อมูลไม่ระบุตัวตนด้วย Python

สร้างโมเดลการจัดกลุ่มแบบ Differential Privacy

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)
ความเป็นส่วนตัวของข้อมูลและการทำให้ข้อมูลไม่ระบุตัวตนด้วย Python

ปรับปรุงโมเดลการจัดกลุ่มแบบ DP

  • สามารถประมวลผลข้อมูลล่วงหน้าก่อนทำการจัดกลุ่มได้
  • การปรับสเกลฟีเจอร์ด้วย StandardScaler และการลดมิติด้วย PCA
    • เพื่อลด Inertia ของโมเดล
    • ได้กลุ่มที่แม่นยำมากขึ้น
  • ทำได้ด้วย diffprivlib เช่นเดียวกับโมเดลใน sklearn
ความเป็นส่วนตัวของข้อมูลและการทำให้ข้อมูลไม่ระบุตัวตนด้วย Python

ปรับปรุงโมเดลการจัดกลุ่มแบบ DP

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)
ความเป็นส่วนตัวของข้อมูลและการทำให้ข้อมูลไม่ระบุตัวตนด้วย Python

ปรับปรุงโมเดลการจัดกลุ่มแบบ DP

ภาพแสดง Scatter Plot สองกราฟพร้อมผลการจัดกลุ่ม

ความเป็นส่วนตัวของข้อมูลและการทำให้ข้อมูลไม่ระบุตัวตนด้วย Python

ปรับปรุงโมเดลการจัดกลุ่มแบบ DP

ภาพแสดงความแตกต่างระหว่างผลการจัดกลุ่มทั้งสองแบบ แสดงเป็นจุดสีชมพู

  • ผลลัพธ์ดีขึ้นเมื่อใช้การแปลงข้อมูล
ความเป็นส่วนตัวของข้อมูลและการทำให้ข้อมูลไม่ระบุตัวตนด้วย Python

Elbow Method

ภาพแสดงกราฟที่ได้จากการใช้ Elbow Method กับข้อมูล

ความเป็นส่วนตัวของข้อมูลและการทำให้ข้อมูลไม่ระบุตัวตนด้วย 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)
ความเป็นส่วนตัวของข้อมูลและการทำให้ข้อมูลไม่ระบุตัวตนด้วย Python

Epsilon

ภาพแสดง Scatter Plot สองกราฟพร้อมผลการจัดกลุ่ม

ความเป็นส่วนตัวของข้อมูลและการทำให้ข้อมูลไม่ระบุตัวตนด้วย Python

มาฝึกกันเถอะ!

ความเป็นส่วนตัวของข้อมูลและการทำให้ข้อมูลไม่ระบุตัวตนด้วย Python

Preparing Video For Download...