Overview¶
This project is part of a TER (Travail d'Étude et de Recherche) and studies the impact of data anonymization on data utility — both from a statistical standpoint and from a supervised classification standpoint.
Objective¶
Anonymization protects individual privacy by transforming data before publication. This transformation comes at a cost: it degrades the available information. The objective of this project is to quantify the privacy-utility trade-off, using the Adult (UCI) dataset and the RECITALS anonymization framework (ARX backend).
Dataset¶
The dataset used is the Adult dataset (UCI Machine Learning Repository), containing 30,000+ records describing individuals from the U.S. Census.
The target attribute is income (income): <=50K or >50K.
General pipeline¶
flowchart TD
A[adult.csv\nOriginal data] --> B[Anonymization\nRECITALS / ARX]
B --> C[Anonymized data]
C --> D[ARX Utility Metrics\nQuality models · Aggregate functions]
C --> E[Classification\nZeroR · LR · NB · RF]
D --> F[Utility evaluation]
E --> F
Project structure¶
| Section | Description |
|---|---|
| Anonymization | Privacy models, generalization hierarchies, benchmark pipeline |
| Quality Models | ARX quality models used to guide optimization |
| Aggregate Functions | Aggregating per-attribute scores into a global score |
| ARX Utility Metrics | Post-anonymization analysis metrics from RECITALS |
| Classification | Utility evaluation through supervised classifiers |
Tools¶
- RECITALS — Python anonymization framework, ARX backend
- ARX — Java anonymization engine (k-anonymity, l-diversity)
- scikit-learn — classification pipelines
- pandas / numpy — data processing