معرفی شرکت ها


anonymeter-0.0.1


Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر

توضیحات

Measure singling out, linkability, and inference risk for synthetic data.
ویژگی مقدار
سیستم عامل -
نام فایل anonymeter-0.0.1
نام anonymeter
نسخه کتابخانه 0.0.1
نگهدارنده []
ایمیل نگهدارنده []
نویسنده -
ایمیل نویسنده Statice GmbH <hello@statice.ai>
آدرس صفحه اصلی -
آدرس اینترنتی https://pypi.org/project/anonymeter/
مجوز The Clear BSD License Copyright (c) 2022 Anonos IP LLC (IP Owner) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted (subject to the limitations in the disclaimer below) provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the IP owner nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE IP OWNER AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE IP OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# Anonymeter: Unified Framework for Quantifying Privacy Risk in Synthetic Data `Anonymeter` is a unified statistical framework to jointly quantify different types of privacy risks in synthetic tabular datasets. `Anonymeter` is equipped with attack-based evaluations for the **Singling Out**, **Linkability**, and **Inference** risks, which are the three key indicators of factual anonymization according to the [Article 29 Working Party](https://ec.europa.eu/justice/article-29/documentation/opinion-recommendation/files/2014/wp216_en.pdf). A simple explanation of how `Anonymeter` works is provided below. For more details, a throughout description of the working of the framework and the attack algorithms can be found in the paper [A Unified Framework for Quantifying Privacy Risk in Synthetic Data](https://arxiv.org/abs/2211.10459). This work has been accepted at the 23rd Privacy Enhancing Technologies Symposium ([PETS 2023](https://petsymposium.org/cfp23.php)). In `Anonymeter` each privacy risk is derived from a privacy attacker whose task is to use the synthetic dataset to come up with a set of *guesses* of the form: - "there is only one person with attributes X, Y, and Z" (singling out) - "records A and B belong to the same person" (linkability) - "a person with attributes X and Y also have Z" (inference) Each evaluation consists of running three different attacks: - the "main" privacy attack, in which the attacker uses the synthetic data to guess information on records in the original data. - the "control" privacy attack, in which the attacker uses the synthetic data to guess information on records in the control dataset. - the "baseline" attack, which models a naive attacker who ignores the synthetic data and guess randomly. Checking how many of these guesses are correct, the success rates of the different attacks are measured and used to derive an estimate of the privacy risk. In particular, the "control attack" is used to separate what the attacker learns from the *utility* of the synthetic data, and what is instead indication of privacy leaks. The "baseline attack" instead functions as a sanity check. The "main attack" attack should outperform random guessing in order for the results to be trusted. ## Setup and installation Anonymeter requires Python 3.8.x, 3.9.x or 3.10.x installed. Clone the Anonymeter repository: ```shell git clone git@github.com:statice/anonymeter.git ``` Install the dependencies: ```shell cd anonymeter # if you are not there already pip install . # Basic dependencies pip install ".[notebooks]" # Dependencies to run example notebooks pip install -e ".[notebooks,dev]" # Development setup ``` If you experience issues with the installation, we recommend to install `anonymeter` in a new clean virtual environment. ## Getting started Check out the example notebook in the `notebooks` folder to start playing around with `anonymeter`. To run this notebook you would need `jupyter` and some plotting libraries. This should be installed as part of the `notebooks` dependencies. If you haven't done so, please install them by executing: ```shell pip install ".[notebooks]" ``` ## Basic usage pattern For each of the three privacy risks anonymeter provide an `Evaluator` class. The high-level classes `SinglingOutEvaluator`, `LinkabilityEvaluator`, and `InferenceEvaluator` are the only thing that you need to import from `Anonymeter`. Despite the different nature of the privacy risks they evaluate, these classes have the same interface and are used in the same way. To instantiate the evaluator you have to provide three dataframes: the original dataset `ori` which has been used to generate the synthetic data, the synthetic data `syn`, and a `control` dataset containing original records which have not been used to generate the synthetic data. Another parameter common to all evaluators is the number of target records to attack (`n_attacks`). A higher number will reduce the statistical uncertainties on the results, at the expense of a longer computation time. ```python evaluator = *Evaluator(ori: pd.DataFrame, syn: pd.DataFrame, control: pd.DataFrame, n_attacks: int) ``` Once instantiated the evaluation pipeline is executed when calling the `evaluate`, and the resulting estimate of the risk can be accessed using the `risk()` method. ```python evaluator.evaluate() risk = evaluator.risk() ``` ## Cite this work If you use anonymeter in your work, we would appreciate citations to the following paper: "A Unified Framework for Quantifying Privacy Risk in Synthetic Data", M. Giomi *et al*, PoPETS 2023. This `bibtex` entry can be used to refer to the paper: ```text @misc{anonymeter, doi = {https://doi.org/10.56553/popets-2023-0055}, url = {https://petsymposium.org/popets/2023/popets-2023-0055.php}, journal = {Proceedings of Privacy Enhancing Technologies Symposium}, year = {2023}, author = {Giomi, Matteo and Boenisch, Franziska and Wehmeyer, Christoph and Tasnádi, Borbála}, title = {A Unified Framework for Quantifying Privacy Risk in Synthetic Data}, } ```


نیازمندی

مقدار نام
~=1.2 scikit-learn
<1.24,>=1.11 numpy
~=1.4 pandas
~=1.2 joblib
~=0.56 numba
~=5.0 flake8
~=1.6.0 flake8-docstrings
~=1.4.0 flake8-eradicate
~=0.5 flake8-broken-line
~=23.2 flake8-bugbear
~=5.10 isort
~=22.10 black
==2.20.0 pre-commit
==7.1.2 pytest
==3.0.0 pytest-cov
==0.961 mypy
==0.9.1 pytest-mypy
~=0.10 build
~=3.4 jupyterlab
~=3.5 matplotlib
~=0.11 seaborn


زبان مورد نیاز

مقدار نام
<3.11,>3.7 Python


نحوه نصب


نصب پکیج whl anonymeter-0.0.1:

    pip install anonymeter-0.0.1.whl


نصب پکیج tar.gz anonymeter-0.0.1:

    pip install anonymeter-0.0.1.tar.gz