First steps

Start protecting the privacy of your data using ANJANA!

Install

First, we strongly recommend the use of a virtual environment. In linux:

virtualenv .venv -p python3
source .venv/bin/activate

Install anjana (linux and windows) using pip:

pip install anjana

Install the most updated version of anjana (linux and windows), using git:

pip install git+https://github.com/IFCA-Advanced-Computing/anjana.git

Usage example

Example with the adult dataset, anonymizing using (\(\alpha\),k)-anonymity (the data and hierarquies can be found in the examples folder of the repository):

import pandas as pd
from anjana.anonymity import alpha_k_anonymity

data = pd.read_csv("adult.csv")  # 32561 rows
data.columns = data.columns.str.strip()
cols = [
    "workclass",
    "education",
    "marital-status",
    "occupation",
    "sex",
    "native-country",
]

for col in cols:
    data[col] = data[col].str.strip()

ident = ["race"]
sens_att = "salary-class"
k = 10
alpha = 0.8
supp_level = 100

hierarchies = {
    "age": dict(pd.read_csv("hierarchies/age.csv", header=None)),
    "education": dict(pd.read_csv("hierarchies/education.csv", header=None)),
    "marital-status": dict(pd.read_csv("hierarchies/marital.csv", header=None)),
    "occupation": dict(pd.read_csv("hierarchies/occupation.csv", header=None)),
    "sex": dict(pd.read_csv("hierarchies/sex.csv", header=None)),
    "native-country": dict(pd.read_csv("hierarchies/country.csv", header=None)),
}


data_anon = alpha_k_anonymity(
    data, ident, quasi_ident, sens_att, k, alpha, supp_level, hierarchies
)