การ masking ข้อมูลด้วย PCA
การใช้ PCA เพื่อปกปิดข้อมูลแบบ pseudo-anonymization นั้นเป็นที่นิยมอย่างแพร่หลายในหลายองค์กร บน Kaggle ก็มีการแข่งขันและชุดข้อมูลหลายรายการที่ปล่อยข้อมูลหลังผ่านการแปลงด้วย PCA แล้ว
นอกจากนี้ diffprivlib ยังมี PCA แบบ differential privacy ในโมดูล models ด้วย ซึ่งพัฒนาต่อจากคลาส PCA ของ sklearn โดยเพิ่ม argument สำหรับ epsilon และขอบเขตค่าต่ำสุด-สูงสุด เช่นเดียวกับที่ได้เรียนไปในบทก่อนหน้า
ในแบบฝึกหัดนี้ จะได้ลองใช้การ masking ข้อมูลด้วย PCA กับชุดข้อมูล NBA Salaries ซึ่งโหลดไว้แล้วในตัวแปร players
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
ความเป็นส่วนตัวของข้อมูลและการทำให้ข้อมูลไม่ระบุตัวตนด้วย Python
คำแนะนำการฝึกหัด
- Import
PCAจากsklearn - กำหนดค่า
PCA()โดยให้จำนวน component เท่ากับจำนวนคอลัมน์ - นำ
pcaไปใช้กับplayers - ดูผลลัพธ์ของชุดข้อมูลที่ได้
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import PCA from Scikit-learn
____
# Initialize PCA with number of components to be the same as the number of columns
pca = ____
# Apply PCA to the data
players_pca = ____
# Print the resulting dataset
print(pd.DataFrame(players_pca))