Skip to content

Data Anonymisation and Re-identification Competition

Notifications You must be signed in to change notification settings

alaurent34/darc

Repository files navigation

DARC - Data Anonymisation and Re-identification Competition

This is a python application of DARC. DARC is a competition held at PETs on the AIcrowd plateform. To participate please go on AIcrowd website.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

In order to run the tests and to test your submission you need to do the following:

If you want to use DARC core:

If you only want to test it with docker:

On linux you can use your package manager to intall them as below

#Ubuntu
apt-get install docker

#Arch-Linux
sudo pacman -S docker

Installing

Install the requirements via pip:

pip install -r requirements.txt

Running the tests

To run the test on the core execute the following command:

docker-compose up --build --remove-orphans --renew-anon-volumes --abort-on-container-exit test

It will run test to check if the current version of the DARC core and the older one behaves in the same way. To check the result consult the file ./data/testing_files/testing.log

TODO : Make some unit test to check the methods

To test if the platform (darc_evaluator) is working do:

docker-compose up --build --remove-orphans --renew-anon-volumes --abort-on-container-exit darc

To set the path of the submission for both round 1 and 2 during the test of the platefrom, change the following variables in config.py:

class Config()

#...

R1_SUBMISSION_FILE = "data/example_files/submission_DEL.csv"
R2_SUBMISSION_FILE = "./data/example_files/F_a_attempt_2.tar"

Usage of the DARC core

To use the DARC core just import it in your project as :

import darc_core
from darc_core.preprocessing import round1_preprocessing
from darc_core.utils import check_format_trans_file

# Read database from files
ground_truth, submission = round1_preprocessing(
    self.answer_file_path, submission_file_path
)

# Check the format of the Anonymized Transaction file
check_format_trans_file(ground_truth, submission)

# Run metrics for a submission (AT)
metric = darc_core.Metrics(ground_truth, submission)
scores = metric.scores()

Contributing

Please free to contributing in the darc_core code. Espetially in term of optimization or architecture model.

Authors

All the persons below have participated to DARC implementation and deployements

And of course all the people from the comite.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

  • We would like to thank all our colleagues, previous trainees and students who gave their time and energy for the competition test.

About

Data Anonymisation and Re-identification Competition

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •