始める無料で始める

プライバシーバジェットアカウンタでデータを探索する

差分プライバシーを提供するデータ探索システムでは、複数のクエリにわたって失われるプライバシー量を測るプライバシーバジェットを管理する必要があります。

この演習では、プライバシーバジェットを追跡しながら IBM HR Analytics Employee Attrition & Performance データセットを探索します。アカウンタで指定したプライバシーバジェットをクエリが超えるとエラーになることを覚えておいてください。

ヒストグラムは、差分プライベートにデータを可視化するのに有用なツールです。構文は numpy の対応する関数と同じで、epsilon パラメータを追加で指定します。

完全なデータセットは hr として、従業員の年齢属性は ages として利用できます。コース内で以前と同様にヒストグラムを描画できるよう、カスタム関数 show_histogram() が作成され読み込まれています。

この演習はコースの一部です

Pythonで学ぶデータプライバシーと匿名化

コースを見る

演習の手順

  • コンストラクタを使って、epsilon1.5 に設定したプライバシー用の BudgetAccountant を作成します。
  • ages 列から、epsilon0.1 にしてプライベートなヒストグラムを生成します。
  • ages のプライベートな平均を、epsilon0.9bounds をタプルで 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))
コードを編集して実行