pm4py.algo.filtering.log.cases 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.filtering.log.cases.case_filter 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.filtering.log.cases.case_filter.Parameters(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Bases: Enum

TIMESTAMP_KEY = 'pm4py:param:timestamp_key'#
pm4py.algo.filtering.log.cases.case_filter.filter_on_case_performance(log: EventLog, inf_perf: float, sup_perf: float, parameters: Dict[str | Parameters, Any] | None = None) EventLog[source]#

Gets a filtered log keeping only traces that satisfy the given performance requirements

Parameters#

log

Log

inf_perf

Lower bound on the performance

sup_perf

Upper bound on the performance

parameters

Parameters

Returns#

filtered_log

Filtered log

pm4py.algo.filtering.log.cases.case_filter.filter_on_ncases(log: EventLog, max_no_cases: int = 1000) EventLog[source]#

Get only a specified number of traces from a log

Parameters#

log

Log

max_no_cases

Desidered number of traces from the log

Returns#

filtered_log

Filtered log

pm4py.algo.filtering.log.cases.case_filter.filter_on_case_size(log: EventLog, min_case_size: int = 2, max_case_size=None) EventLog[source]#

Get only traces in the log with a given size

Parameters#

log

Log

min_case_size

Minimum desidered size of traces

max_case_size

Maximum desidered size of traces

Returns#

filtered_log

Filtered log

pm4py.algo.filtering.log.cases.case_filter.satisfy_perf(trace: Trace, inf_perf: float, sup_perf: float, timestamp_key: str) bool[source]#

Checks if the trace satisfy the performance requirements

Parameters#

trace

Trace

inf_perf

Lower bound on the performance

sup_perf

Upper bound on the performance

timestamp_key

Timestamp key

Returns#

boolean

Boolean (is True if the trace satisfy the given performance requirements)

pm4py.algo.filtering.log.cases.case_filter.filter_case_performance(log, inf_perf, sup_perf, parameters=None)[source]#
pm4py.algo.filtering.log.cases.case_filter.apply(df, parameters=None)[source]#
pm4py.algo.filtering.log.cases.case_filter.apply_auto_filter(df, parameters=None)[source]#