Khám phá dữ liệu với bộ quản lý ngân sách quyền riêng tư
Các hệ thống khám phá dữ liệu áp dụng differential privacy phải quản lý một ngân sách quyền riêng tư để đo lượng riêng tư bị hao hụt qua nhiều truy vấn.
Trong bài tập này, bạn sẽ khám phá bộ dữ liệu IBM HR Analytics Employee Attrition & Performance đồng thời theo dõi ngân sách quyền riêng tư. Hãy nhớ rằng nếu một truy vấn vượt quá ngân sách đã đặt trong bộ quản lý, sẽ phát sinh lỗi.
Histogram là công cụ hữu ích để trực quan hóa dữ liệu theo cách đảm bảo differential privacy. Cú pháp giống với hàm tương ứng trong numpy, có thêm tham số epsilon.
Toàn bộ dữ liệu có trong hr và thuộc tính tuổi của nhân viên là ages. Một hàm tùy chỉnh đã được tạo và nạp sẵn là show_histogram() để vẽ biểu đồ như bạn đã làm trước đó trong khóa học.
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
Hướng dẫn bài tập
- Tạo một
BudgetAccountantvớiepsilonbằng1.5, dùng hàm khởi tạo tương ứng. - Tạo một histogram riêng tư từ cột
agesvới giá trịepsilonlà0.1. - Lấy và hiển thị giá trị trung bình riêng tư của
ages, dùngepsilonlà0.9, vàboundstừ10đến100dưới dạng một tuple. - In ra ngân sách quyền riêng tư còn lại cho hai truy vấn mới sau đó.
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.
# 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))