Skip to content

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