저어어엉말 오랜만에 Process Mining & Data Mining 주제로 글을 쓴다. 이 파트는 나의 주관적인 생각이 들어갈 가능성이 있는데 내가 그럴 능력이 되나.. 하는 생각에 항상 글을 쓰기가 부담스럽고 망설여진다. 이번 포스팅은 Decision Tree가 프로세스 마이닝과 어떻게 연관되어 있는지에 대해 알아보겠다. Decision Tree가 무엇인지 모른다면 다음 포스팅을 참고하도록 한다.
2019/08/04 - [Process Mining & Data Mining] - Decision Tree(의사 결정 나무)란?
Decision Point
Decision Tree는 어떠한 결정을 내려야 할 상황이 있을 때 attribute들을 바탕으로 하여 다음 결정을 예측하는 알고리즘이다. 그렇다면 프로세스 모델에서 이렇게 결정을 내리는 상황이 무엇이 있을까? 다음과 같은 프로세스 모델이 있다고 하자.
위 프로세스 모델에서 다음 액티비티가 결정되지 않았는데 결졍되어야 하는 곳은 어디일까? AND split은 다음에 오는 두 액티비티가 모두 실행되어야 하니까 아닐 것이고, XOR split은 다음에 오는 액티비티들 중 하나를 선택해서 일어난다. 그러므로 XOR split이 일어나는 경우가 decision point가 될 것이다. 위 프로세스 모델에서는 place c1에서 b와 c 액티비티 중 하나를 선택하고, place c5에서 f, g, h 액티비티 중 하나를 선택할 수 있다. 그러므로 c1과 c5가 decision point가 된다. 그렇다면 이 decision point에서 다음 액티비티가 무엇일지 어떻게 예측할 수 있을까?
Decision Mining
여기에서 decision tree가 이용된다. decision tree의 종속 변수로 다음 액티비티를 사용하고, 독립 변수로 case attribute (같은 case 내에서 공유되는 case에 종속된 정보), event attribute (이벤트에 종속된 정보. resource 등), path(이전까지 일어난 액티비티의 시퀀스 등), performance information(flow time 등) 등 다양한 정보를 사용하여 다음 액티비티를 예측하는 것이다.
예를 들어 우리가 아래와 같은 decision point에서 다음 액티비티를 예측한다고 하자.
이를 예측하기 위해서 type, region, amount를 독립 변수로 사용하고 다음 액티비티를 종속변수로 사용하기 위해 다음과 같은 데이터를 만들었다고 하자.
이를 이용해서 decision tree를 만들고, 이에 대한 정보를 프로세스 모델에서 다음 액티비티를 예측할 때 사용하는 것이다. (decision tree를 만드는 과정은 이 포스팅에서는 생략한다.)
이러한 방법으로 decision tree를 이용하여 decision point에서 다음 액티비티가 무엇일지 예측하는 것이 가능하다. 이는 XOR split 뿐만 아니라 OR split에도 적용될 수 있다. (OR split은 페트리 넷에서는 표현되지 않고, yawl이나 BPMN 등에서 표현될 수 있다. Yawl과 BPMN은 또 미래의 나 자신이.. 다룰 것..)
이번 포스팅에서는 decision tree가 프로세스 마이닝과 어떻게 연관되어 있는지에 대해 알아보았다. Decision Tree를 이용하여 우리는 프로세스 모델의 decision point 내에서 다음 액티비티를 예측할 수 있었다. case attribute, event attribute 등의 다양한 정보를 이용하여 다음 액티비티를 높은 정확도로 예측한다면 이는 굉장한 가치를 창출할 수 있을 것이다.
최근댓글