The Enhancing Data Accessibility and Security through Data Synthesis (EDASIDA) project aimed to develop an evolutionary algorithm (EA) model that can generate synthetic data when there is no direct access to the original dataset. Rather than using the original dataset the EA uses already published (and cleared for publication) analytical outputs taken from the original dataset. The synthetic data produced can be used for teaching and testing and can be safely shared with students and researchers. This potentially allows synthetic data to be created from restricted access datasets which might otherwise be inaccessible, therefore allowing greater data discovery.
The CAP app was developed as part of the project. This takes as input a synthetic and original dataset and provides the disclosure risk score for the synthetic data. The user needs to provide a target variable and a set of key variables to perform the calculation. For a categorical target variable the TCAP score is returned, the app will also provide results for a continuous target variable but this is currently experimental.
The easiest way to use the app is to download the zip file (located in the "Releases" section on this page) and then run the .exe file contained in the folders. An alternative is to clone the repository and access the underlying code.
Python 3.7-3.11
Git
A Command Line Interface (CLI)
On windows, download and install Git from https://git-scm.com/downloads/win.
To clone the repository, click <> Code above the list of files on the GitHub page of this repo, and copy the URL under your choice of clone method (HTTPS / SSH Key / GitHub CLI).
In the CLI (Git Bash / Terminal):
git clone <URL>
Change into the repo directory for the following steps.
cd UMFRAD-CAP-GUI
The initial development was done using Python 3.11.10. If the version of Python 3 on your device is not between 3.7 and 3.11, a compatible version of Python must be installed and any commands starting with python3 in the following steps must be replaced with the exact python version (e.g. python3.11 instead of python3).
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.11
sudo apt install python3.11-venv
Download from python.org or the Microsoft Store.
Install the XCode Command Line Tools: xcode-select --install
This currently installs Python 3.9.6, which is sufficient for this GUI.
The packages will be installed in a virtual environment.
python3 -m venv <virtual_environment_name>
source <virtual_environment_name>/bin/activate
python -m pip install -r requirements.core.txt
python -m pip install -r requirements.dev.txt
Some additional packages may be required for Linux distributions to run the gui. To install the packages, run the following command:
sudo apt install libxkbcommon-x11-0 ffmpeg libsm6 libxext6 libxcb-cursor0
python3 -m venv <virtual_environment_name>
<virtual_environment_name>\Scripts\activate
python -m pip install -r requirements.core.txt
python -m pip install -r requirements.dev.txt
python3 -m venv <virtual_environment_name>
source <virtual_environment_name>/bin/activate
python -m pip install -r requirements.core.txt
python -m pip install -r requirements.dev.txt
python main.py