Differential Privacy対応の分類器を作る
この演習では、Penguinデータセットに対してプライベートな Gaussian Naive Bayes モデルを構築・学習し、ペンギンがオスかメスかを分類します。
K-anonymity は、理論的・実証的な大きな制約により、多次元かつ多様なデータセットではうまく機能しません。いわゆる「次元の呪い」により、特徴量や次元が増えるほど、正確に一般化するために必要なデータ量が指数関数的に増大します。これが、Differential Privacy が現在の推奨プライバシーモデルとされる理由の一つです。Epsilon はあらゆる事前知識から独立しており、機微情報を「境界付け」します。
DataFrame は penguin_df として読み込まれ、X_train、y_train、X_test、y_test に分割されています。プライベートモデルのクラスは dp_GaussianNB としてインポート済みです。
この演習はコースの一部です
Pythonで学ぶデータプライバシーと匿名化
演習の手順
- パラメータなしで
dp_GaussianNB分類器を作成します。 - 作成したモデルを、パラメータを指定せずにデータへ学習させます。
- テストデータに基づいてプライベートモデルのスコアを計算します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# 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))