# pm4py.algo.organizational_mining.sna package

## pm4py.algo.organizational_mining.sna.algorithm module

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.organizational_mining.sna.algorithm.Parameters(value)[source]

Bases: enum.Enum

An enumeration.

ACTIVITY_KEY = 'pm4py:param:activity_key'
METRIC_NORMALIZATION = 'metric_normalization'
RESOURCE_KEY = 'pm4py:param:resource_key'
class pm4py.algo.organizational_mining.sna.algorithm.Variants(value)[source]

Bases: enum.Enum

An enumeration.

HANDOVER_LOG = <module 'pm4py.algo.organizational_mining.sna.variants.log.handover' from 'C:\\Users\\berti\\pm4py-core\\pm4py\\algo\\organizational_mining\\sna\\variants\\log\\handover.py'>
HANDOVER_PANDAS = <module 'pm4py.algo.organizational_mining.sna.variants.pandas.handover' from 'C:\\Users\\berti\\pm4py-core\\pm4py\\algo\\organizational_mining\\sna\\variants\\pandas\\handover.py'>
JOINTACTIVITIES_LOG = <module 'pm4py.algo.organizational_mining.sna.variants.log.jointactivities' from 'C:\\Users\\berti\\pm4py-core\\pm4py\\algo\\organizational_mining\\sna\\variants\\log\\jointactivities.py'>
JOINTACTIVITIES_PANDAS = <module 'pm4py.algo.organizational_mining.sna.variants.pandas.jointactivities' from 'C:\\Users\\berti\\pm4py-core\\pm4py\\algo\\organizational_mining\\sna\\variants\\pandas\\jointactivities.py'>
SUBCONTRACTING_LOG = <module 'pm4py.algo.organizational_mining.sna.variants.log.subcontracting' from 'C:\\Users\\berti\\pm4py-core\\pm4py\\algo\\organizational_mining\\sna\\variants\\log\\subcontracting.py'>
SUBCONTRACTING_PANDAS = <module 'pm4py.algo.organizational_mining.sna.variants.pandas.subcontracting' from 'C:\\Users\\berti\\pm4py-core\\pm4py\\algo\\organizational_mining\\sna\\variants\\pandas\\subcontracting.py'>
WORKING_TOGETHER_LOG = <module 'pm4py.algo.organizational_mining.sna.variants.log.working_together' from 'C:\\Users\\berti\\pm4py-core\\pm4py\\algo\\organizational_mining\\sna\\variants\\log\\working_together.py'>
WORKING_TOGETHER_PANDAS = <module 'pm4py.algo.organizational_mining.sna.variants.pandas.working_together' from 'C:\\Users\\berti\\pm4py-core\\pm4py\\algo\\organizational_mining\\sna\\variants\\pandas\\working_together.py'>
pm4py.algo.organizational_mining.sna.algorithm.apply(log: Union[pm4py.objects.log.obj.EventLog, pandas.core.frame.DataFrame], parameters: Optional[Dict[Union[str, pm4py.algo.organizational_mining.sna.algorithm.Parameters], Any]] = None, variant=Variants.HANDOVER_LOG) List[Any][source]

Calculates a SNA metric

Parameters
• log – Log

• parameters – Possible parameters of the algorithm

• variant

Variant of the algorithm to apply. Possible values:
• Variants.HANDOVER_LOG

• Variants.WORKING_TOGETHER_LOG

• Variants.SUBCONTRACTING_LOG

• Variants.JOINTACTIVITIES_LOG

• Variants.HANDOVER_PANDAS

• Variants.WORKING_TOGETHER_PANDAS

• Variants.SUBCONTRACTING_PANDAS

• Variants.JOINTACTIVITIES_PANDAS

Returns

Tuple containing the metric matrix and the resources list

Return type

tuple

## pm4py.algo.organizational_mining.sna.parameters module

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.organizational_mining.sna.parameters.Parameters(value)[source]

Bases: enum.Enum

An enumeration.

ACTIVITY_KEY = 'pm4py:param:activity_key'
METRIC_NORMALIZATION = 'metric_normalization'
RESOURCE_KEY = 'pm4py:param:resource_key'

## pm4py.algo.organizational_mining.sna.util module

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.organizational_mining.sna.util.Parameters(value)[source]

Bases: enum.Enum

An enumeration.

WEIGHT_THRESHOLD = 'weight_threshold'
pm4py.algo.organizational_mining.sna.util.cluster_affinity_propagation(sna_results: List[List[Any]], parameters=None) Dict[str, List[str]][source]

Performs a clustering using the affinity propagation algorithm provided by Scikit Learn

Parameters
• sna_results – Values for a SNA metric

• parameters – Parameters of the algorithm

Returns

Dictionary that contains, for each cluster that has been identified, the list of resources of the cluster

Return type

clustering

pm4py.algo.organizational_mining.sna.util.sna_result_to_nx_graph(sna_results: List[List[Any]], parameters=None)[source]

Transforms the results of SNA to a NetworkX Graph / DiGraph object (depending on the type of analysis).

Parameters
• sna_results – Result of a SNA operation

• parameters – Parameters of the algorithm, including: - Parameters.WEIGHT_THRESHOLD => the weight threshold (used to filter out edges)

Returns

NetworkX Graph / DiGraph

Return type

nx_graph