k-anonymity & Deep Learning
- Dataset used throughout the experiment: Adult dataset (used only 300 samples from the original dataset)
- 我利用 Mondrian 的 k-anonymity 演算法(
K=3
),我設定的 Quasi-Identifier 為 [ age
, education-num
, hours-per-week
],並且將資料集中的 fnlwgt
、 capital-gain
、 capital-loss
去掉,所以 total feature column 為 11 個,要預測的 target 為 income
Model(
(net): Sequential(
(0): Linear(in_features=11, out_features=128, bias=True)
(1): ReLU()
(2): Dropout(p=0.5, inplace=False)
(3): Linear(in_features=128, out_features=64, bias=True)
(4): ReLU()
(5): Linear(in_features=64, out_features=2, bias=True)
(6): Softmax(dim=1)
)
)
Dataset without
Anonymity
Category/Metrics |
Precision |
Recall |
Income <= 50 |
84.62% |
78.57% |
Income > 50 |
82.35% |
87.50% |
![](https://camo.githubusercontent.com/6b7e05a672b3332d35494c879d77607420ea4be4b79c4b4767a329418d50a8b5/68747470733a2f2f692e696d6775722e636f6d2f654865424f6d762e706e67)
Category/Metrics |
Precision |
Recall |
Income <= 50 |
71.43% |
66.67% |
Income > 50 |
68.75% |
73.33% |
![](https://camo.githubusercontent.com/08510ee542c3ab231a3ceca3f95d5c511bcf7cb3a655aa038046778ea083e337/68747470733a2f2f696d6775722e636f6d2f7a59676a6955642e706e67)
Different privacy level(k value) comparison
Privacy Level(k value)/Metrics |
Accuracy |
AUC |
k=2 |
80% |
0.85 |
k=3 |
70% |
0.76 |
k=4 |
67% |
0.72 |
![](https://camo.githubusercontent.com/44ec5f0ea64fe9ed6d682cb05886da190a7b53b454322e0bc28c4385f2fcb173/68747470733a2f2f692e696d6775722e636f6d2f524a444a4f30782e706e67)