Skip to main content

A library aiding to create challenges for the AnoMed competition platform.

Project description

Code style: black pipeline status coverage

Challenge

A library aiding to create challenges for the AnoMed competition platform.

Usage Example

The following example will create a Falcon-based web app that serves the famous iris dataset and uses plain binary accuracy as an evaluation metric. In more detail, these routes are offered (some may have query parameters not mentioned here):

  • [GET] / (this displays an "alive message")
  • [GET] /data/anonymizer/training (this will serve X_train and y_train)
  • [GET] /data/anonymizer/tuning (this will serve X_tune)
  • [GET] /data/anonymizer/validation (this will serve X_val)
  • [GET] /data/deanonymizer/members (this will serve a subset of X_train and y_train)
  • [GET] /data/deanonymizer/non-members (this will serve a subset of X_val and y_val)
  • [GET] /data/attack-success-evaluation (this will serve data from the complement of members and also from the complement of non-members).
  • [POST] /utility/anonymizer (this will evaluate the quality of an anonymizer's prediction compared to y_tune or y_val.)
  • [POST] /utility/deanonymizer (this will evaluate the quality of a denanonymizer's prediction compared to attack-success-evaluation)
import anomed_challenge as anochal
from sklearn import datasets, model_selection

iris = datasets.load_iris()

X = iris.data  # type: ignore
y = iris.target  # type: ignore

X_train, X_other, y_train, y_other = model_selection.train_test_split(
    X, y, test_size=0.3, random_state=42
)
X_tune, X_val, y_tune, y_val = model_selection.train_test_split(
    X_other, y_other, test_size=0.5, random_state=21
)

example_challenge = anochal.SupervisedLearningMIAChallenge(
    training_data=anochal.InMemoryNumpyArrays(X=X_train, y=y_train),
    tuning_data=anochal.InMemoryNumpyArrays(X=X_tune, y=y_tune),
    validation_data=anochal.InMemoryNumpyArrays(X=X_val, y=X_val),
    anonymizer_evaluator=anochal.strict_binary_accuracy,
    MIA_evaluator=anochal.evaluate_MIA,
)

# This is what GUnicorn expects
application = anochal.supervised_learning_MIA_challenge_server_factory(
    example_challenge
)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

anomed_challenge-0.0.11.tar.gz (14.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

anomed_challenge-0.0.11-py3-none-any.whl (13.4 kB view details)

Uploaded Python 3

File details

Details for the file anomed_challenge-0.0.11.tar.gz.

File metadata

  • Download URL: anomed_challenge-0.0.11.tar.gz
  • Upload date:
  • Size: 14.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.16

File hashes

Hashes for anomed_challenge-0.0.11.tar.gz
Algorithm Hash digest
SHA256 dc2d98bde92c7b8183c17f70c4733c7774aebaea9940b15251f2a89391b5c8a9
MD5 c732c92a51c2c4f1a8a1bdbce6dfeed4
BLAKE2b-256 f8dc6ad092abc67ef5c75dab83af4204a40cef99381cbfb97dabfc647ddf2061

See more details on using hashes here.

File details

Details for the file anomed_challenge-0.0.11-py3-none-any.whl.

File metadata

File hashes

Hashes for anomed_challenge-0.0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 cae040d5407a59b754e935fc7ab036a37fef558f4167059ac4abc907cced77b6
MD5 e5bcc5492c8f5bfa549ac5e0caeae2c1
BLAKE2b-256 2a150bec908489f0f1917671b1f2ed4a90d1f8395033fcad1c6e64c278556aa8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page