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[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/>.