เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การพยากรณ์เงินเดือน

ในแบบฝึกหัดนี้ จะใช้ชุดข้อมูลรายได้จากสำมะโนประชากรเพื่อพยากรณ์ว่าแต่ละบุคคลมีเงินเดือนมากกว่า $50K/ปี หรือไม่

จำไว้ว่าควรระบุขอบเขต (bounds) เป็น parameter ตอนสร้างโมเดล private เพื่อป้องกันการสูญเสียความเป็นส่วนตัวหรือการรั่วไหลของข้อมูลเพิ่มเติม โดยปกติแล้วสามารถกำหนดขอบเขตได้โดยไม่ขึ้นกับข้อมูลโดยตรง โดยอาศัยความรู้เชิงโดเมนหรือการค้นหาด้วย DP histogram

ชุดข้อมูลถูกโหลดและแบ่งเป็น X_train, y_train, X_test และ y_test แล้ว โดย classifier พร้อมใช้งานในชื่อ dp_GaussianNB

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

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

ดูคอร์ส

คำแนะนำการฝึกหัด

  • กำหนดขอบเขตของโมเดลโดยคำนวณค่า min และ max จากข้อมูล training จากนั้นเพิ่ม random noise โดยการลบและบวกตัวเลขสุ่มในช่วง 5 ถึง 40 สำหรับทั้ง 5 คอลัมน์ในข้อมูลของเรา
  • สร้าง dp_GaussianNB classifier โดยกำหนด epsilon เป็น 0.5 และใช้ขอบเขตที่สร้างไว้ก่อนหน้านี้
  • Fit โมเดลกับข้อมูลและดูคะแนนผลลัพธ์

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Set the min and max of bounds for the data and add noise using random
bounds = (X_train.____(axis=0) - random.____(range(5, 40), 5), 
          ____)

# Built the classifier with epsilon of 0.5
dp_clf = ____(epsilon=____, bounds=____)

# Fit the model to the data and print the score
____
print("The accuracy of the differentially private model is ",
       dp_clf.score(X_test, y_test))
แก้ไขและรันโค้ด