pm4py.algo.filtering.log.variants package

Submodules

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

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, admitted_variants, parameters=None)[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

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