머신러닝에 필요한 데이터셋을 구하려면?
Pro Discovery 2.0은 Process와 관련된 Insight을 제공해 줍니다. 하지만 Insight을 제공해주는 것에 그치는 것뿐 아니라
Machine Learning을 적용하기 위해 필요한 Data를 제공해 줄 수도 있습니다.
프로세스 마이닝은 Performance Analysis, Process Model 도출, Conformance Checking 등에 유용한 도구입니다. 과거의 Data를 분석하는 데는 유용한 도구이지만 여기서 한발 더 나아가 Data Mining과 연계한다면 더 유의미한 결과를 낼 수 있습니다. 어떻게 Process Mining과 Data Mining을 연계할 수 있는지 예를 들어서 설명해보겠습니다.
연구원 A는 국내 거대 제조업 S사에 Data Science Team으로 취업하였습니다. A의 첫 업무로 PI(Process Innovation)부서의 요청에 따라 Process 병목 부분을 분석하고, 중요 Process를 도출해내었습니다. 이때 유용한 도구로 Pro Discovery 2.0을 사용하였습니다.
![](https://www.puzzledata.com/wp-content/uploads/2020/05/1-1-4.png)
그러자 PI 부서에서 다시 요청이 왔습니다.
“과거의 프로세스에 대한 이해는 이제 충분하게 되었습니다. 머신러닝을 적용하여 프로세스 혁신에 대한 예측 시스템을 구축하고 싶습니다. 연구원님과 함께 프로젝트를 진행하고 싶습니다.”
이 요청을 받은 연구원 A는 고민에 빠졌습니다.
“Supervised learning을 해야 할 거 같은데… 어떤 알고리즘을 써야 하지? 아니 일단 데이터 셋 구성하는 거부터가 일이네…”
연구원 A의 고민을 이해하기 위해선 Supervised learning에 대해서 이해를 해야 합니다.
![](https://www.puzzledata.com/wp-content/uploads/2020/05/2-1.jpg)
일단 Machine Learning이란 data X와 X에 대응하는 현상 Y에 대한 관계를 가장 잘 설명하는 함수 f를 찾는 것입니다. Training Data를 넣어 Machine Learning Algorithm에 따라 훈련을 합니다. 그리고 Hypothesis 중 관계를 가장 잘 설명하는 함수 f를 선택하고 Test Data를 통해 검증합니다.
연구원 A의 상황에 대입하여 본다면
1. 우선 프로세스에 관련하여 Data를 구해야 합니다.
2. 이 Data를 실제 현상과 매핑해야 합니다. 어떤 프로세스 경로를 따른다면 결과가 안 좋았다면 그 프로세스 경로에 관련된 data는 X가 될 것이고 안 좋은 결과는 Y로 매핑하는 식으로 데이터를 구성해야 합니다.
3. 다음은 매핑 한 data를 훈련용과 검증용으로 나누어 줍니다.
4. 적절한 Machine Learning Algorithm을 선택해야 합니다. 이 예에선 좋은 결과, 안 좋은 결과 이산적으로 결정한다고 했으니 의사 결정 트리나, SVM 등의 알고리즘이 사용될 수 있습니다.
5. 알고리즘에 따라 훈련을 통해 함수 f가 결정되었다면 다시 검증용 데이터로 Performance를 측정합니다. 이 과정을 가장 적절한 함수 f를 찾을 때까지 반복합니다.
연구원 A의 고민은 가장 처음 Data와 관련된 고민이었습니다. 예측 시스템을 구축하기 위해선 일단 프로세스와 관련된 Data를 구해야 하고 이 Data를 실제 현상과 매핑해야 합니다. 이때 Process Mining은 굉장히 유용한 도구가 됩니다. 이와 관련하여 앞선 칼럼인 프로세스 마이닝과 AI를 통한 프로세스 혁신(https://blog.naver.com/prodiscovery/221088085181)을 참조하시면 자세한 내용이 적혀져 있습니다.
그러면 Pro Discovery 2.0에선 어떻게 연구원 A가 도움을 받을 수 있을까요? 필터 기능과 이벤트 데이터 다운로드 기능을 적절히 이용하면 유용한 Data를 얻을 수 있습니다.
데이터 셋을 구성할 때 성과와 관련된 컬럼을 차원 유형으로 추가합니다.
![](https://www.puzzledata.com/wp-content/uploads/2020/05/3-11.png)
필터 기능을 이용하여 성과가 좋은 프로세스와 성과가 나쁜 프로세스 등을 구별하여 각각 구성합니다.
![](https://www.puzzledata.com/wp-content/uploads/2020/05/4-8.png)
오른쪽 하단 위치한 이벤트 데이터 다운로드 기능을 이용하여 각각의 프로세스 정보를 받습니다.
![](https://www.puzzledata.com/wp-content/uploads/2020/05/5-9.png)
Text 형태로 Pro Discovery에서 전처리한 Data set을 얻을 수 있습니다.
![](https://www.puzzledata.com/wp-content/uploads/2020/05/6-5.png)
이제 연구원 A는 프로세스와 관련된 Data를 얻게 되었습니다.
Pro Discovery 2.0은 Process와 관련된 Insight을 제공해 줍니다. 하지만 Insight을 제공해주는 것에 그치는 것뿐 아니라 Machine Learning을 적용하기 위해 필요한 Data를 제공해 줄 수도 있습니다.
![](https://www.puzzledata.com/wp-content/uploads/2020/05/SE-933361ac-6eb6-412a-a73a-97a6cd2f0e7a.png)