:py:mod:`anomed_challenge.challenge` ==================================== .. py:module:: anomed_challenge.challenge .. autodoc2-docstring:: anomed_challenge.challenge :parser: docstrings_parser :allowtitles: Module Contents --------------- Classes ~~~~~~~ .. list-table:: :class: autosummary longtable :align: left * - :py:obj:`InMemoryNumpyArrays ` - .. autodoc2-docstring:: anomed_challenge.challenge.InMemoryNumpyArrays :parser: docstrings_parser :summary: * - :py:obj:`NpzFromDisk ` - .. autodoc2-docstring:: anomed_challenge.challenge.NpzFromDisk :parser: docstrings_parser :summary: * - :py:obj:`NumpyDataset ` - .. autodoc2-docstring:: anomed_challenge.challenge.NumpyDataset :parser: docstrings_parser :summary: * - :py:obj:`SupervisedLearningMIAChallenge ` - .. autodoc2-docstring:: anomed_challenge.challenge.SupervisedLearningMIAChallenge :parser: docstrings_parser :summary: * - :py:obj:`TabularDataReconstructionChallenge ` - .. autodoc2-docstring:: anomed_challenge.challenge.TabularDataReconstructionChallenge :parser: docstrings_parser :summary: Functions ~~~~~~~~~ .. list-table:: :class: autosummary longtable :align: left * - :py:obj:`discard_targets ` - .. autodoc2-docstring:: anomed_challenge.challenge.discard_targets :parser: docstrings_parser :summary: * - :py:obj:`evaluate_membership_inference_attack ` - .. autodoc2-docstring:: anomed_challenge.challenge.evaluate_membership_inference_attack :parser: docstrings_parser :summary: * - :py:obj:`evaluate_MIA ` - .. autodoc2-docstring:: anomed_challenge.challenge.evaluate_MIA :parser: docstrings_parser :summary: * - :py:obj:`strict_binary_accuracy ` - .. autodoc2-docstring:: anomed_challenge.challenge.strict_binary_accuracy :parser: docstrings_parser :summary: Data ~~~~ .. list-table:: :class: autosummary longtable :align: left * - :py:obj:`AnonymizationScheme ` - .. autodoc2-docstring:: anomed_challenge.challenge.AnonymizationScheme :parser: docstrings_parser :summary: API ~~~ .. py:data:: AnonymizationScheme :canonical: anomed_challenge.challenge.AnonymizationScheme :type: typing.TypeAlias :value: None .. autodoc2-docstring:: anomed_challenge.challenge.AnonymizationScheme :parser: docstrings_parser .. py:function:: discard_targets(data: anomed_challenge.challenge.NumpyDataset) -> anomed_challenge.challenge.InMemoryNumpyArrays :canonical: anomed_challenge.challenge.discard_targets .. autodoc2-docstring:: anomed_challenge.challenge.discard_targets :parser: docstrings_parser .. py:function:: evaluate_membership_inference_attack(prediction: numpy.ndarray, ground_truth: numpy.ndarray) -> dict[str, float] :canonical: anomed_challenge.challenge.evaluate_membership_inference_attack .. autodoc2-docstring:: anomed_challenge.challenge.evaluate_membership_inference_attack :parser: docstrings_parser .. py:function:: evaluate_MIA(prediction: numpy.ndarray, ground_truth: numpy.ndarray) -> dict[str, float] :canonical: anomed_challenge.challenge.evaluate_MIA .. autodoc2-docstring:: anomed_challenge.challenge.evaluate_MIA :parser: docstrings_parser .. py:class:: InMemoryNumpyArrays(X: numpy.ndarray, y: numpy.ndarray) :canonical: anomed_challenge.challenge.InMemoryNumpyArrays Bases: :py:obj:`anomed_challenge.challenge.NumpyDataset` .. autodoc2-docstring:: anomed_challenge.challenge.InMemoryNumpyArrays :parser: docstrings_parser .. rubric:: Initialization .. autodoc2-docstring:: anomed_challenge.challenge.InMemoryNumpyArrays.__init__ :parser: docstrings_parser .. py:method:: get() -> tuple[numpy.ndarray, numpy.ndarray] :canonical: anomed_challenge.challenge.InMemoryNumpyArrays.get .. py:class:: NpzFromDisk(npz_filepath: str | pathlib.Path, X_label: str = 'X', y_label: str = 'y') :canonical: anomed_challenge.challenge.NpzFromDisk Bases: :py:obj:`anomed_challenge.challenge.NumpyDataset` .. autodoc2-docstring:: anomed_challenge.challenge.NpzFromDisk :parser: docstrings_parser .. rubric:: Initialization .. autodoc2-docstring:: anomed_challenge.challenge.NpzFromDisk.__init__ :parser: docstrings_parser .. py:method:: get() -> tuple[numpy.ndarray, numpy.ndarray] :canonical: anomed_challenge.challenge.NpzFromDisk.get .. py:class:: NumpyDataset :canonical: anomed_challenge.challenge.NumpyDataset Bases: :py:obj:`abc.ABC` .. autodoc2-docstring:: anomed_challenge.challenge.NumpyDataset :parser: docstrings_parser .. py:method:: get() -> tuple[numpy.ndarray, numpy.ndarray] :canonical: anomed_challenge.challenge.NumpyDataset.get :abstractmethod: .. autodoc2-docstring:: anomed_challenge.challenge.NumpyDataset.get :parser: docstrings_parser .. py:method:: __eq__(other) -> bool :canonical: anomed_challenge.challenge.NumpyDataset.__eq__ .. py:method:: __repr__() -> str :canonical: anomed_challenge.challenge.NumpyDataset.__repr__ .. py:method:: __str__() -> str :canonical: anomed_challenge.challenge.NumpyDataset.__str__ .. py:property:: shapes :canonical: anomed_challenge.challenge.NumpyDataset.shapes :type: list[tuple[int, ...]] .. autodoc2-docstring:: anomed_challenge.challenge.NumpyDataset.shapes :parser: docstrings_parser .. py:property:: dtypes :canonical: anomed_challenge.challenge.NumpyDataset.dtypes :type: list[numpy.dtype] .. autodoc2-docstring:: anomed_challenge.challenge.NumpyDataset.dtypes :parser: docstrings_parser .. py:function:: strict_binary_accuracy(prediction: numpy.ndarray, ground_truth: numpy.ndarray) -> dict[str, float] :canonical: anomed_challenge.challenge.strict_binary_accuracy .. autodoc2-docstring:: anomed_challenge.challenge.strict_binary_accuracy :parser: docstrings_parser .. py:class:: SupervisedLearningMIAChallenge(training_data: anomed_challenge.challenge.NumpyDataset, tuning_data: anomed_challenge.challenge.NumpyDataset, validation_data: anomed_challenge.challenge.NumpyDataset, anonymizer_evaluator: typing.Callable[[numpy.ndarray, numpy.ndarray], dict[str, float]], MIA_evaluator: typing.Callable[[numpy.ndarray, numpy.ndarray], dict[str, float]], MIA_evaluation_dataset_length: int, seed: int | None = None) :canonical: anomed_challenge.challenge.SupervisedLearningMIAChallenge .. autodoc2-docstring:: anomed_challenge.challenge.SupervisedLearningMIAChallenge :parser: docstrings_parser .. rubric:: Initialization .. autodoc2-docstring:: anomed_challenge.challenge.SupervisedLearningMIAChallenge.__init__ :parser: docstrings_parser .. py:property:: members :canonical: anomed_challenge.challenge.SupervisedLearningMIAChallenge.members :type: anomed_challenge.challenge.NumpyDataset .. autodoc2-docstring:: anomed_challenge.challenge.SupervisedLearningMIAChallenge.members :parser: docstrings_parser .. py:property:: non_members :canonical: anomed_challenge.challenge.SupervisedLearningMIAChallenge.non_members :type: anomed_challenge.challenge.NumpyDataset .. autodoc2-docstring:: anomed_challenge.challenge.SupervisedLearningMIAChallenge.non_members :parser: docstrings_parser .. py:method:: MIA_evaluation_data(anonymizer: str, deanonymizer: str, data_split: typing.Literal[tuning, validation]) -> tuple[anomed_challenge.challenge.NumpyDataset, numpy.ndarray] :canonical: anomed_challenge.challenge.SupervisedLearningMIAChallenge.MIA_evaluation_data .. autodoc2-docstring:: anomed_challenge.challenge.SupervisedLearningMIAChallenge.MIA_evaluation_data :parser: docstrings_parser .. py:method:: evaluate_anonymizer(prediction: numpy.ndarray, ground_truth: numpy.ndarray) -> dict[str, float] :canonical: anomed_challenge.challenge.SupervisedLearningMIAChallenge.evaluate_anonymizer .. autodoc2-docstring:: anomed_challenge.challenge.SupervisedLearningMIAChallenge.evaluate_anonymizer :parser: docstrings_parser .. py:method:: evaluate_membership_inference_attack(prediction: numpy.ndarray, ground_truth: numpy.ndarray) -> dict[str, float] :canonical: anomed_challenge.challenge.SupervisedLearningMIAChallenge.evaluate_membership_inference_attack .. autodoc2-docstring:: anomed_challenge.challenge.SupervisedLearningMIAChallenge.evaluate_membership_inference_attack :parser: docstrings_parser .. py:class:: TabularDataReconstructionChallenge(leaky_data: pandas.DataFrame, background_knowledge: pandas.DataFrame, utility_evaluator: typing.Callable[[pandas.DataFrame, anomed_challenge.challenge.AnonymizationScheme, pandas.DataFrame], dict[str, float]], privacy_evaluator: typing.Callable[[pandas.DataFrame, pandas.DataFrame], dict[str, float]]) :canonical: anomed_challenge.challenge.TabularDataReconstructionChallenge .. autodoc2-docstring:: anomed_challenge.challenge.TabularDataReconstructionChallenge :parser: docstrings_parser .. rubric:: Initialization .. autodoc2-docstring:: anomed_challenge.challenge.TabularDataReconstructionChallenge.__init__ :parser: docstrings_parser .. py:method:: evaluate_utility(anonymized_data: pandas.DataFrame, anonymization_scheme: anomed_challenge.challenge.AnonymizationScheme, leaky_data: pandas.DataFrame) -> dict[str, float] :canonical: anomed_challenge.challenge.TabularDataReconstructionChallenge.evaluate_utility .. autodoc2-docstring:: anomed_challenge.challenge.TabularDataReconstructionChallenge.evaluate_utility :parser: docstrings_parser .. py:method:: evaluate_privacy(reconstructed_data: pandas.DataFrame, leaky_data: pandas.DataFrame) -> dict[str, float] :canonical: anomed_challenge.challenge.TabularDataReconstructionChallenge.evaluate_privacy .. autodoc2-docstring:: anomed_challenge.challenge.TabularDataReconstructionChallenge.evaluate_privacy :parser: docstrings_parser