プライバシーバジェットアカウンタでデータを探索する
差分プライバシーを提供するデータ探索システムでは、複数のクエリにわたって失われるプライバシー量を測るプライバシーバジェットを管理する必要があります。
この演習では、プライバシーバジェットを追跡しながら IBM HR Analytics Employee Attrition & Performance データセットを探索します。アカウンタで指定したプライバシーバジェットをクエリが超えるとエラーになることを覚えておいてください。
ヒストグラムは、差分プライベートにデータを可視化するのに有用なツールです。構文は numpy の対応する関数と同じで、epsilon パラメータを追加で指定します。
完全なデータセットは hr として、従業員の年齢属性は ages として利用できます。コース内で以前と同様にヒストグラムを描画できるよう、カスタム関数 show_histogram() が作成され読み込まれています。
この演習はコースの一部です
Pythonで学ぶデータプライバシーと匿名化
演習の手順
- コンストラクタを使って、
epsilonを1.5に設定したプライバシー用のBudgetAccountantを作成します。 ages列から、epsilonを0.1にしてプライベートなヒストグラムを生成します。agesのプライベートな平均を、epsilonを0.9、boundsをタプルで10から100に設定して取得・表示します。- 続く2つの新しいクエリに対して、残りのプライバシーバジェットを出力します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Create the privacy Budget Accountant with epsilon of 1.5
acc = ____
# Use the Budget Accountant acc to draw a private histogram of ages with epsilon 0.1
dp_hist, dp_bins = tools.___(____, epsilon=____, range=[10,100], accountant=____)
show_histogram(dp_hist, dp_bins)
# Get and show the private average of the age variable
print("Mean: ", tools.mean(____))
# Show privacy budget remaining for 2 queries
print("Remaining budget for 2 queries: ", ____)
print("Number of queries recorded: ", len(acc))