สำรวจข้อมูลด้วย Privacy Budget Accountant
ระบบสำรวจข้อมูลที่รองรับ differential privacy จำเป็นต้องบริหารจัดการงบประมาณความเป็นส่วนตัว ซึ่งวัดปริมาณความเป็นส่วนตัวที่สูญเสียไปจากการรันหลาย query
ในแบบฝึกหัดนี้ คุณจะสำรวจชุดข้อมูล IBM HR Analytics Employee Attrition & Performance พร้อมติดตามงบประมาณความเป็นส่วนตัวไปด้วย จำไว้ว่าหาก query ใดใช้งบประมาณเกินที่กำหนดไว้ใน accountant จะเกิดข้อผิดพลาดขึ้น
ฮิสโทแกรมเป็นเครื่องมือที่มีประโยชน์ในการแสดงภาพข้อมูลแบบ differentially private โดยมีรูปแบบ syntax เดียวกับฟังก์ชันใน numpy แต่มีพารามิเตอร์ epsilon เพิ่มเข้ามา
ชุดข้อมูลเต็มพร้อมใช้งานในชื่อ hr และข้อมูลอายุของพนักงานอยู่ในชื่อ ages นอกจากนี้ยังมีฟังก์ชัน show_histogram() ที่สร้างและโหลดไว้แล้ว เพื่อพล็อตฮิสโทแกรมเหมือนที่ทำในบทก่อนหน้า
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
ความเป็นส่วนตัวของข้อมูลและการทำให้ข้อมูลไม่ระบุตัวตนด้วย Python
คำแนะนำการฝึกหัด
- สร้าง
BudgetAccountantสำหรับความเป็นส่วนตัวโดยกำหนดepsilonเป็น1.5โดยใช้ constructor ที่เตรียมไว้ - สร้างฮิสโทแกรมแบบส่วนตัวจากคอลัมน์
agesโดยกำหนดepsilonเป็น0.1 - คำนวณและแสดงค่าเฉลี่ยแบบส่วนตัวของ
agesโดยใช้epsilonเป็น0.9และกำหนด bounds จาก10ถึง100ในรูปแบบ tuple - แสดงงบประมาณความเป็นส่วนตัวที่เหลืออยู่สำหรับ 2 query ถัดไป
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Create the privacy Budget Accountant with epsilon of 1.5
acc = ____
# Use the Budget Accountant acc to draw a private histogram of ages with epsilon 0.1
dp_hist, dp_bins = tools.___(____, epsilon=____, range=[10,100], accountant=____)
show_histogram(dp_hist, dp_bins)
# Get and show the private average of the age variable
print("Mean: ", tools.mean(____))
# Show privacy budget remaining for 2 queries
print("Remaining budget for 2 queries: ", ____)
print("Number of queries recorded: ", len(acc))