728x90

 요즘 연구가 바빠서 퇴근하고 저녁 먹으면 9시-10시라 포스팅이 쉽지 않다. 이번 포스팅에서는 PM4Py를 이용하여 social network analysis를 하는 방법에 대해 알아보겠다. Social Network가 무엇인지 잘 모른다면 다음 포스팅을 참고하도록 한다.

2019/08/01 - [Process Mining & Data Mining] - Social Network(사회 연결망)란? (소셜 네트워크와 프로세스 마이닝)

 

Social Network(사회 연결망)란? (소셜 네트워크와 프로세스 마이닝)

Social Network란, 사회를 이루는 구성 요소들 간의 관계를 나타낸 네트워크를 말한다. 이번 포스팅에서는 소셜 네트워크가 무엇이고, 그것의 구성요소가 무엇인지에 대해 알아보겠다. Social Network의 구성 요소..

process-mining.tistory.com

1. 우선, 분석할 XES 파일을 import하여 이를 log에 저장한다. 

import os
from pm4py.objects.log.importer.xes import factory as xes_importer

log = xes_importer.apply(os.path.join("input_data", "running-example.xes"))

2. 해당 log에 대해 social network를 만든다. 이 때, social network의 종류에 따라 variant 부분이 달라진다. (각 social network 종류에 대한 설명은 social network 종류에 대한 포스팅을 참고한다.)

from pm4py.algo.enhancement.sna import factory as sna_factory
hw_values = sna_factory.apply(log, variant="handover") # variant= 뒤의 부분이 social network 종류에 따라 달라짐
  • variant = "handover" : Handover of Work Metric
  • variant = "subcontracting": Subcontracting Metric
  • variant = "working_together": Working Together Metric
  • variant = "jointactivities": Simialr Activities Metric

 3. 이를 눈으로 확인하기 위해 다음 코드를 입력한다.

from pm4py.visualization.sna import factory as sna_vis_factory
gviz_hw_py = sna_vis_factory.apply(hw_values)
sna_vis_factory.view(gviz_hw_py)

4. 다음과 같은 Social Network가 도출되면 성공이다. (예시는 handover social network이다.)

도출된 social network

 pm4py를 통해 코드 몇 줄로 간단하게 social network analysis가 가능하다.

 

References

1. PM4Py 공식 홈페이지: http://pm4py.pads.rwth-aachen.de/social-network-analysis/

300x250
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기