728x90

 Association Rule은 어떤 아이템과 다른 아이템의 연관성을 찾는 것을 목표로 한다. 하지만 Association Rule은 아이템들의 ordering은 고려하지 않는다는 한계점을 가진다. 즉, 내가 광어와 간장을 사면 와사비도 살 것이라는 것을 예측할 수는 있지만, 청하를 산 다음날에 광어와 간장과 와사비를 살 것이라는 것을 예측할 수는 없다. 회.. 먹고 싶다.. 이러한 한계점을 극복하는 것이 Sequence Mining이다. 이번 포스팅에서는 Sequence Mining이 무엇인지에 대해 알아보겠다.

Sequence Mining이란?

Subsequence

 Subseuence의 정의는 다음과 같다.

subsequence의 정의

 예를 들어, sequence <{x}, {x,y}, {y}>가 있다고 하자. 이 sequence는 <{z}, {x}, {x,y,z}, {z}, {y,z}>의 subsequence이다. 왜냐하면, {x} 가 {x}의 부분집합이고, {x,y}가 {x,y,z}의 부분집합이고, {y}가 {y,z}의 부분집합이기 때문이다. 

support

 다음과 같은 예시 데이터가 있다고 하자.

예시 데이터

 Sequence Mining에서의 특정 sequence의 support전체 데이터에 대해서 이 sequence를 subsequence로 가지는 데이터의 비율을 말한다.

 예를 들어, <{tea}, {bagel, tea}>라는 sequence가 있다고 하자. 이 sequence는 Mary의 subsequence이고, Wil과 Bill의 sequence의 subsequence는 아니기 때문에 이의 support는 1/3이다. <{cappuccino}, {espresso}>라는 sequence의 support는 무엇일까? Wil, Mary, Bill sequence 모두의 subsequence이기 때문에 support는 3/3 = 1이다. 

confidence

Sequence Mining에서의 특정 패턴의 confidence는 다음과 같은 식으로 계산할 수 있다.

confidence 계산식

예를 들어, 카푸치노를 주문하고 에스프레소와 머핀을 주문했던 사람이 다음에 ristretto를 주문할 confidence를 계산하고 싶다고 하자. 그러면 우리의 X와 Y는 다음과 같다.

X는 Wil, Mary, Bill 모두의 subsequence이기 때문에 confidence가 1, Y는 Bil의 subsequence이기 때문에 confidence가 1/3이다. 그러므로 이것의 confidence는 다음과 같다.

즉, 카푸치노를 주문하고 에스프레소와 머핀을 주문했던 고객들 중 1/3이 다음에 ristretto를 주문하는 것이다.

 

 이렇게 support의 minimum과 confidence의 minimum을 정해놓음으로써 의미 있는 sequence를 찾는 것을 sequence mining이라고 한다.

Sequence Mining과 프로세스 마이닝

 그렇다면 이 sequence mining을 프로세스 마이닝에 어떻게 활용할 수 있을까? 다양한 방향으로 활용될 수 있겠지만, 하나의 간단한 예시를 들자면 앞의 패턴을 이용하여 액티비티를 예측하는 데에 활용될 수 있다. Sequence를 구성하는 구성요소가 다음과 같이 액티비티의 이름이라고 하자. 

 그렇다면 <{홈페이지 접속}, {로그인}, {장바구니에 물건 담기}> sequence와 <{홈페이지 접속}, {로그인}, {장바구니에 물건 담기}, {물건 구입}> sequence에 대한 confidence와 <{홈페이지 접속}, {로그인}, {장바구니에 물건 담기}, {이탈}> sequence에 대한 confidence를 구할 수 있을 것이다. 이런 식으로 앞에 나온 sequence의 액티비티 패턴을 바탕으로 다음 액티비티를 예측하는 것이 가능할 것이다.

References

1. Section 4.5.1. of  Wil van der Aalst. Process Mining: Data Science in Action (Second Edition) : Springer, 2016.

 

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