728x90

 오래 전에 썼어야 하는 포스팅인데 미루다가 질문이 있는 김에 쓰는 글. 프로세스 마이닝을 처음 접하는 많은 사람들은 대부분의 경우에 XES 파일이 아닌 CSV 파일을 이용해 PM4Py를 적용시켜 보려고 할 것이다. 그리고 나의 데이터, 이 CSV 파일은 PM4Py에 바로 들어갈 수 있는 형태, 즉 이벤트 로그의 형태가 아닌 경우가 많을 것이다. 이런 파일을 PM4Py에 집어 넣으려고 하면 다음과 같은 에러가 발생한다.

 이번 포스팅에서는 이를 해결하기 위해 PM4Py에서 각 컬럼명을 어떻게 설정해야 하는지에 대해 알아보겠다.

* 이번 포스팅은 이벤트 로그(event log)에 대한 기본적인 이해가 있다고 가정한다.

 

 프로세스 마이닝을 위한 이벤트 로그에서 필수적인 요소는 Case ID, Activity, Timestamp이다. 이들이 없으면 프로세스 마이닝을 시작할 수 없다. (이들에 대한 설명은 위 포스팅에 있다.)

 그렇다면 우리의 데이터들에 대해 이들을 각각 설정을 해 주어야 할 것이다. 이들은 다음과 같이 컬럼명을 설정하면 된다.

  • Case ID: case:concept:name 
  • Activity: concept:name
  • Timestamp: time:timestamp (datetime 형태)

그리고 만약 resource가 필요하다면 다음과 같이 쓴다.

  • Resource: org:resource

위의 4가지 필수 (물론 resource는 optional이다.) attribute가 아닌 경우에는 컬럼명을 따로 지정할 필요는 없다. 하지만 만약 attribute가 case에 종속되는 case attribute라면 다음과 같은 형태여야만 한다. (컬럼명 앞에 case:가 붙은 형태)

  • case attribute: case:컬럼명

이 외에 처음 시작하는 단계에서 추가적으로 고려할 점은 없다. 대부분의 경우에 원만하게 코드가 돌아갈 것이다. 

 

 이렇게 이번 포스팅에서는 PM4Py에서 각 이벤트 로그의 형태에 맞는 컬럼명을 어떻게 설정해야 하는지에 대해 알아보았다. 

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