PCA によるデータマスキング
疑似匿名化のための PCA は企業で広く使われています。Kaggle でも、PCA で変換済みのデータが提供されているコンペやデータセットが多数あります。
PCA の差分プライバシー対応版は、diffprivlib の models モジュールにも含まれています。これは sklearn の PCA クラスをベースにしており、前章で見たように epsilon や最小・最大値の境界を指定するオプション引数が追加されています。
この演習では、すでに players として読み込まれている NBA Salaries データセットに対して、PCA を使ったデータマスキングを行います。
この演習はコースの一部です
Pythonで学ぶデータプライバシーと匿名化
演習の手順
sklearnからPCAをインポートします。- コンポーネント数が列数と同じになるように
PCA()を初期化します。 pcaをplayersに適用します。- 得られたデータセットを確認します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Import PCA from Scikit-learn
____
# Initialize PCA with number of components to be the same as the number of columns
pca = ____
# Apply PCA to the data
players_pca = ____
# Print the resulting dataset
print(pd.DataFrame(players_pca))