pm4py.algo.filtering.log.variants package

Submodules

pm4py.algo.filtering.log.variants.variants_filter module

This file is part of PM4Py (More Info: https://pm4py.fit.fraunhofer.de).

PM4Py is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

PM4Py 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 General Public License for more details.

You should have received a copy of the GNU General Public License along with PM4Py. If not, see <https://www.gnu.org/licenses/>.

class pm4py.algo.filtering.log.variants.variants_filter.Parameters(value)[source]

Bases: enum.Enum

An enumeration.

ACTIVITY_KEY = 'pm4py:param:activity_key'
DECREASING_FACTOR = 'decreasingFactor'
POSITIVE = 'positive'
pm4py.algo.filtering.log.variants.variants_filter.apply(log: pm4py.objects.log.obj.EventLog, admitted_variants: List[List[str]], parameters: Optional[Dict[Union[str, pm4py.algo.filtering.log.variants.variants_filter.Parameters], Any]] = None) pm4py.objects.log.obj.EventLog[source]

Filter log keeping/removing only provided variants

Parameters
  • log – Log object

  • admitted_variants – Admitted variants

  • parameters

    Parameters of the algorithm, including:

    Parameters.ACTIVITY_KEY -> Attribute identifying the activity in the log Parameters.POSITIVE -> Indicate if events should be kept/removed

pm4py.algo.filtering.log.variants.variants_filter.apply_auto_filter(log, variants=None, parameters=None)[source]

Apply a variants filter detecting automatically a percentage

Parameters
  • log – Log

  • variants – Variants contained in the log

  • parameters

    Parameters of the algorithm, including:

    Parameters.ACTIVITY_KEY -> Key that identifies the activity Parameters.DECREASING_FACTOR -> Decreasing factor (stops the algorithm when the next variant by occurrence is below this factor in comparison to previous)

Returns

Filtered log

Return type

filteredLog

Deprecated since version 2.2.11: This will be removed in 3.0.0. Removed

pm4py.algo.filtering.log.variants.variants_filter.filter_log_variants_percentage(log, percentage=0.8, parameters=None)[source]

Filters a log by variants percentage

Parameters
  • log – Event log

  • percentage – Percentage

  • parameters – Parameters of the algorithm

Returns

Filtered log (by variants percentage)

Return type

filtered_log

pm4py.algo.filtering.log.variants.variants_filter.filter_variants_by_coverage_percentage(log, min_coverage_percentage, parameters=None)[source]

Filters the variants of the log by a coverage percentage (e.g., if min_coverage_percentage=0.4, and we have a log with 1000 cases, of which 500 of the variant 1, 400 of the variant 2, and 100 of the variant 3, the filter keeps only the traces of variant 1 and variant 2).

Parameters
  • log – Event log

  • min_coverage_percentage – Minimum allowed percentage of coverage

  • parameters – Parameters

Returns

Filtered log

Return type

filtered_log

pm4py.algo.filtering.log.variants.variants_filter.filter_variants_top_k(log, k, parameters=None)[source]

Keeps the top-k variants of the log

Parameters
  • log – Event log

  • k – Number of variants that should be kept

  • parameters – Parameters

Returns

Filtered log

Return type

filtered_log

pm4py.algo.filtering.log.variants.variants_filter.filter_variants_variants_percentage(log, variants, variants_percentage=0.0)[source]

Filter the log by variants percentage

Parameters
  • log – Log

  • variants – Dictionary with variant as the key and the list of traces as the value

  • variants_percentage – Percentage of variants that should be kept (the most common variant is always kept)

Returns

Filtered log

Return type

filtered_log

pm4py.algo.filtering.log.variants.variants_filter.find_auto_threshold(log, variants, decreasing_factor)[source]

Find automatically variants filtering threshold based on specified decreasing factor

Parameters
  • log – Log

  • variants – Dictionary with variant as the key and the list of traces as the value

  • decreasing_factor – Decreasing factor (stops the algorithm when the next variant by occurrence is below this factor in comparison to previous)

Returns

Percentage of variants to keep in the log

Return type

variantsPercentage

Module contents

This file is part of PM4Py (More Info: https://pm4py.fit.fraunhofer.de).

PM4Py is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

PM4Py 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 General Public License for more details.

You should have received a copy of the GNU General Public License along with PM4Py. If not, see <https://www.gnu.org/licenses/>.