Bắt đầu ngayBắt đầu miễn phí

Dự đoán mức lương

Trong bài tập này, bạn sẽ dùng bộ dữ liệu thu nhập dân số để dự đoán liệu một cá nhân có mức lương trên $50K/năm hay không.

Hãy nhớ rằng bạn nên chỉ định bounds như một tham số khi tạo mô hình riêng tư để đảm bảo không có thêm tổn thất quyền riêng tư hoặc rò rỉ thông tin. Thông thường, bạn có thể chọn bounds độc lập với dữ liệu dựa trên hiểu biết miền hoặc tìm kiếm bằng biểu đồ DP (DP histogram).

Bộ dữ liệu đã được nạp và tách thành X_train, y_train, X_testy_test. Bộ phân loại có sẵn dưới tên dp_GaussianNB.

Bài tập này là một phần của khóa học

Bảo mật dữ liệu và Ẩn danh trong Python

Xem khóa học

Hướng dẫn bài tập

  • Thiết lập bounds cho mô hình bằng cách tính giá trị minmax trên dữ liệu huấn luyện rồi thêm nhiễu ngẫu nhiên bằng cách trừ và cộng các số ngẫu nhiên trong khoảng từ 5 đến 40 cho 5 cột trong dữ liệu của chúng ta.
  • Tạo một bộ phân loại dp_GaussianNB với epsilon bằng 0.5 và bounds đã tạo ở bước trước.
  • Fit mô hình với dữ liệu và xem điểm số.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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))
Chỉnh sửa và Chạy Mã