Zbuduj klasyfikator z prywatnością różnicową
W tym ćwiczeniu zbudujesz i wytrenowasz prywatny model Gaussowskiego Naiwnego Bayesa na zbiorze danych Penguin, aby sklasyfikować, czy pingwin jest samcem, czy samicą.
K-anonimowość nie sprawdza się dobrze przy zbiorach danych o dużej liczbie wymiarów lub dużej różnorodności – ze względu na istotne ograniczenia teoretyczne i praktyczne, znane jako „klątwa wymiarowości". Wraz ze wzrostem liczby cech lub wymiarów, ilość danych potrzebnych do dokładnego uogólnienia rośnie wykładniczo. To jeden z powodów, dla których prywatność różnicowa jest obecnie preferowanym modelem ochrony prywatności. Epsilon jest niezależny od jakiejkolwiek wiedzy kontekstowej i „ogranicza" ujawnianie wrażliwych informacji.
DataFrame jest wczytany jako penguin_df i podzielony na X_train, y_train, X_test oraz y_test. Klasa prywatnego modelu została zaimportowana jako dp_GaussianNB.
To ćwiczenie jest częścią kursu
Prywatność danych i anonimizacja w Pythonie
Instrukcje do ćwiczenia
- Utwórz klasyfikator
dp_GaussianNBbez parametrów. - Dopasuj wcześniej utworzony model do danych, nie podając żadnych parametrów.
- Oblicz wynik prywatnego modelu na podstawie danych testowych.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Built the private classifier without parameters
dp_clf = ____
# Fit the model to the data
____(X_train, y_train)
# Print the accuracy score
print("The accuracy with default settings is ", ____(X_test, y_test))