Předpovídání platů
V tomto cvičení použiješ datovou sadu census income k tomu, abys předpověděl/a, zda mají jednotlivci roční plat vyšší než 50 000 USD, nebo ne.
Měj na paměti, že při vytváření soukromého modelu je potřeba zadat meze jako parametr – zajistíš tím, že nedojde k dodatečné ztrátě soukromí ani úniku informací. Meze si obvykle můžeš zvolit nezávisle na datech, a to na základě znalosti domény nebo pomocí prohledávání s DP histogramem.
Dataset byl načten a rozdělen na X_train, y_train, X_test a y_test. Klasifikátor je dostupný jako dp_GaussianNB.
Toto cvičení je součástí kurzu
Ochrana soukromí a anonymizace dat v Pythonu
Pokyny k cvičení
- Nastav meze modelu tak, že vypočítáš hodnoty
minamaxv trénovacích datech a přidáš náhodný šum – odečteš a přičteš náhodná čísla v rozsahu 5 až 40 pro každý z 5 sloupců v našich datech. - Vytvoř klasifikátor dp_GaussianNB s hodnotou epsilon
0.5a dříve vytvořenými mezemi. - Natrénuj model na datech a podívej se na výsledné skóre.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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))