Memprediksi gaji
Dalam latihan ini, Anda akan menggunakan himpunan data pendapatan sensus untuk memprediksi apakah seseorang memiliki gaji lebih dari $50K/tahun atau tidak.
Ingat bahwa Anda harus menentukan batas sebagai parameter saat membuat model privat untuk memastikan tidak ada kehilangan privasi tambahan atau kebocoran informasi. Biasanya, Anda dapat memilih batas secara independen dari data, menggunakan pengetahuan domain atau melakukan pencarian dengan histogram DP.
Himpunan data telah dimuat dan dibagi menjadi X_train, y_train, X_test, dan y_test. Classifier tersedia sebagai dp_GaussianNB.
Latihan ini adalah bagian dari kursus
Privasi Data dan Anonimisasi di Python
Petunjuk latihan
- Tetapkan batas model dengan menghitung nilai
mindanmaxpada data pelatihan lalu menambahkan derau acak dengan mengurangkan dan menambahkan bilangan acak dalam rentang 5 hingga 40 untuk 5 kolom pada data kita. - Buat classifier dp_GaussianNB dengan epsilon
0.5dan batas yang telah dibuat sebelumnya. - Latih model pada data dan lihat skornya.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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))