Zacznij terazZacznij za darmo

Przewidywanie wynagrodzeń

W tym ćwiczeniu użyjesz zbioru danych dotyczących dochodów ze spisu ludności, aby przewidzieć, czy dana osoba zarabia ponad 50 000 USD rocznie.

Pamiętaj, że podczas tworzenia prywatnego modelu należy podać granice jako parametr – dzięki temu unikniesz dodatkowej utraty prywatności i wycieku informacji. Granice można zazwyczaj ustalić niezależnie od danych, korzystając z wiedzy dziedzinowej lub wyszukując je za pomocą histogramu DP.

Zbiór danych został wczytany i podzielony na X_train, y_train, X_test i y_test. Klasyfikator jest dostępny jako dp_GaussianNB.

To ćwiczenie jest częścią kursu

Prywatność danych i anonimizacja w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Ustaw granice modelu, obliczając wartości min i max w danych treningowych, a następnie dodając szum losowy – odejmij i dodaj losowe liczby z zakresu od 5 do 40 dla każdej z 5 kolumn w zbiorze danych.
  • Utwórz klasyfikator dp_GaussianNB z wartością epsilon równą 0.5 i wcześniej wyznaczonymi granicami.
  • Dopasuj model do danych i sprawdź wynik.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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))
Edytuj i uruchom kod