pm4py.algo.anonymization.trace_variant_query.variants package#
PM4Py – A Process Mining Library for Python
Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see this software project’s root or visit <https://www.gnu.org/licenses/>.
Website: https://processintelligence.solutions Contact: info@processintelligence.solutions
Submodules#
pm4py.algo.anonymization.trace_variant_query.variants.laplace module#
PM4Py – A Process Mining Library for Python
Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see this software project’s root or visit <https://www.gnu.org/licenses/>.
Website: https://processintelligence.solutions Contact: info@processintelligence.solutions
- class pm4py.algo.anonymization.trace_variant_query.variants.laplace.Parameters(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]#
Bases:
Enum
- EPSILON = 'epsilon'#
- K = 'k'#
- P = 'p'#
- SHOW_PROGRESS_BAR = 'show_progress_bar'#
- pm4py.algo.anonymization.trace_variant_query.variants.laplace.apply(log: EventLog, parameters: Dict[str | Parameters, Any] | None = None) EventLog [source]#
Variant Laplace is described in: Mannhardt, F., Koschmider, A., Baracaldo, N. et al. Privacy-Preserving Process Mining. Bus Inf Syst Eng 61, 595–614 (2019). https://doi.org/10.1007/s12599-019-00613-3
Parameters#
- log
Event log
- parameters
- Parameters of the algorithm:
-Parameters.EPSILON -> Strength of the differential privacy guarantee -Parameters.K -> Maximum prefix length of considered traces for the trace-variant-query -Parameters.P -> Pruning parameter of the trace-variant-query. Of a noisy trace variant, at least P traces
must appear. Otherwise, the trace variant and its traces won’t be part of the result of the trace variant query.
-Parameters.SHOW_PROGRESS_BAR -> Enables/disables the progress bar (default: True)
Returns#
- anonymized_trace_variant_distribution
An anonymized trace variant distribution as an EventLog
- pm4py.algo.anonymization.trace_variant_query.variants.laplace.privatize_tracevariants(log, epsilon, p, n, progress)[source]#
- pm4py.algo.anonymization.trace_variant_query.variants.laplace.create_event_int_mapping(log)[source]#
- pm4py.algo.anonymization.trace_variant_query.variants.laplace.get_prefix_frequencies_from_log(log)[source]#
- pm4py.algo.anonymization.trace_variant_query.variants.laplace.get_prefix_frequencies_length_n(trace_frequencies, events, n, known_prefix_frequencies)[source]#
pm4py.algo.anonymization.trace_variant_query.variants.sacofa module#
PM4Py – A Process Mining Library for Python
Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see this software project’s root or visit <https://www.gnu.org/licenses/>.
Website: https://processintelligence.solutions Contact: info@processintelligence.solutions
- class pm4py.algo.anonymization.trace_variant_query.variants.sacofa.Parameters(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]#
Bases:
Enum
- EPSILON = 'epsilon'#
- K = 'k'#
- P = 'p'#
- SHOW_PROGRESS_BAR = 'show_progress_bar'#
- pm4py.algo.anonymization.trace_variant_query.variants.sacofa.apply(log: EventLog, parameters: Dict[Any, Any] | None = None) EventLog [source]#
Variant SaCoFa is described in: S. A. Fahrenkog-Petersen, M. Kabierski, F. Rösel, H. van der Aa and M. Weidlich, “SaCoFa: Semantics-aware Control-flow Anonymization for Process Mining,” 2021 3rd International Conference on Process Mining (ICPM), 2021, pp. 72-79, doi: 10.1109/ICPM53251.2021.9576857.
Parameters#
- log
Event log
- parameters
- Parameters of the algorithm:
-Parameters.EPSILON -> Strength of the differential privacy guarantee -Parameters.K -> Maximum prefix length of considered traces for the trace-variant-query -Parameters.P -> Pruning parameter of the trace-variant-query. Of a noisy trace variant, at least P traces
must appear. Otherwise, the trace variant and its traces won’t be part of the result of the trace variant query.
-Parameters.SHOW_PROGRESS_BAR -> Enables/disables the progress bar (default: True)
Returns#
- anonymized_trace_variant_distribution
An anonymized trace variant distribution as an EventLog
- pm4py.algo.anonymization.trace_variant_query.variants.sacofa.privatize_tracevariants(log, epsilon, P, N, progress, smart_pruning=False, P_smart=0, sensitivity=1)[source]#
- pm4py.algo.anonymization.trace_variant_query.variants.sacofa.get_prefix_frequencies_from_log(log)[source]#
- pm4py.algo.anonymization.trace_variant_query.variants.sacofa.get_prefix_frequencies_length_n(trace_frequencies, events, n, known_prefix_frequencies)[source]#
- pm4py.algo.anonymization.trace_variant_query.variants.sacofa.privatize_trace_variants(trace_frequencies, epsilon, followRelations, precedesRelations, allEvents, allTraces, sensitivity)[source]#
- pm4py.algo.anonymization.trace_variant_query.variants.sacofa.get_events_from_traces(traceSet)[source]#