Skip to main content

Logo

build badge language badge build badge PyPI version Python version supported documentation

Index

Project Description

Learning analytics involves collecting and analyzing data about learners to improve educational outcomes. However, this process raises concerns about the privacy of individual data. To address these concerns, this project implements differential privacy algorithms, which add controlled noise to data, ensuring individual privacy while maintaining the overall utility of the dataset. This approach aligns with recent advancements in safeguarding data privacy in learning analytics.

In this project, we explore a privacy protocol for sketching with privacy considerations. The steps it follow

  • Setup
  • Mask
  • Agregation
  • Estimation

Repository Structure

The repository is organized as follows:

Local_Privacy
┣ 📂 src
┣ ┣ 📂 clip_protocol
┃ ┃ ┣ 📂 count mean
┃ ┃ ┣ 📂 hadamard mean
┃ ┃ ┣ 📂 main
┃ ┃ ┃ ┣ setup.py
┃ ┃ ┃ ┣ mask.py
┃ ┃ ┃ ┣ agregate.py
┃ ┃ ┃ ┗ estimation.py
┃ ┗ ┗ 📂 utils
┗ 📂 tests

Online Execution

You can execute the code online using Google Colab. Google Colab sessions are intended for individual users and have limitations such as session timeouts after periods of inactivity and maximum session durations.

For single-user dataset scenarios, click this link to execute the method: Execute in Google Colab

Usage

These methods are included in PyPI as you can view here, and can be installed on your device with:

pip install clip-protocol

Once installed, you can execute the following commands to run the privacy adjustment methods.

Setup

Use the following command:

setup -d <dataset>
  • dataset: path to the input dataset (.xlsx) you want to setup for tests

Example:

setup -d /path/to/dataset.xlsx

Mask

Use the following command:

mask -d <dataset> -o <output>
  • dataset: Path to the input dataset you want to privatize.
  • output: Path to where the privatized dataset will be saved.

The output variable is optional, if it is not needed to save the privatized data you can skip it

Agregation

Use the following command:

agregate

Estimation

Estimates the true frequencies from the aggregated privatized data. This command answers frequency queries based on the collected sketches.

estimate

Clear

Use this command when it is needed to delete all data saved from the previous steps.

clip_clear

Important Notes

  • Ensure that the paths provided are correct, and that the necessary permissions are granted for writing to the output location.
  • In the mask step, the output will be a new file .csv containing the privatized data.

Documentation

The complete documentation for this project is available online. You can access it at the following link:

This documentation includes detailed explanations of the algorithms, methods, and the overall structure of the project.

Authors

Marta Jones
Marta Jones

💻
Anailys Hernandez
Anailys Hernandez

💡

Metadata

Release files for clip-protocol 2.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for clip-protocol 2.4
File Size Uploaded
clip_protocol-2.4.tar.gz 2.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for clip-protocol 2.4
File Interpreter ABI Platform
clip_protocol-2.4-py3-none-any.whl Python 3 none any Details

Total release size: 2.2 MB

Release files / clip_protocol-2.4.tar.gz

Download URL clip_protocol-2.4.tar.gz
Size 2.2 MB
Tags Source
SHA-256 checksum
How to use checksums
306240ec7f9e5ddf44d2ea9d24e495ec2d3cf0b203a1945bd1ab83b0659515db
BLAKE2b-256 checksum
How to use checksums
9f25a2548b861593e79f4d9ee74012877e50b41106dd49f4a7a18a1bddcd7c2f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.20

Release files / clip_protocol-2.4-py3-none-any.whl

Download URL clip_protocol-2.4-py3-none-any.whl
Size 25.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
62b5417eb58687f36d218715e75aba8ba56a41f5f93801aa891b9ac94cce4200
BLAKE2b-256 checksum
How to use checksums
baf4972d2952bf6e8568a1f90709ad2a395bde1a725cd369fbc83e41c95e971c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.20

Release history Release notifications | RSS feed

This release

2.4 This release

2 release files

2.3

2 release files

2.2.14

2 release files

2.2.13

2 release files

2.2.9

2 release files

2.2.8

2 release files

2.2.6

2 release files

2.2.5

2 release files

2.2.4

2 release files

2.2.3

2 release files

2.2.2

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.4

2 release files

2.1.3

2 release files

2.1.2

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page