공부/데이터 마이닝

[데이터 마이닝] Pattern Mining: Pattern Evaluation Methods

ko527ko 2024. 10. 2. 01:43

패턴 평가 방법에 대해 알아보자.

 

1. Rule/Pattern이 흥미로운지(중대한지) 판단하는 방법

  • pattern-mining은 방대한 pattern/rules의 집합을 만든다. -> 생성된 모든 집합이 흥미롭진 않음. 
  • 흥미로움의 척도: Objective(객관적) vs Subjective(주관적) -> Support, confidence, correlation... 
  • 주관적인 흥미로움의 척도: 다양한 user들이 다양하게 흥미로움을 판단 (흔한 pattern은 버림)
    • 사용자가 지정한다: Query-based(사용자의 특정한 요청과 관련됨)
    • 누군가의 지식에 대해 판단: 예상치 않은, 새로운, 시의성(유행에 뒤지지 않은)...

 

2. Support-Confidence 기반의 한계(limitation)

  • s와 c association rules에서 흥미로운가? "A -> B" [s, c]
    ex) 농구를 하는 학생 중 씨리얼을 먹는 학생이 얼마나 될지 가정해라
  play-basketball not play-basketball sum(row)
eat-cereal 400 350 750
not eat-cereal 200 50 250
sum(col.) 600 400 1000
  • Association rule mining은 다음과 같은 것을 생성한다. : play-basketball => eat-cereal [40%, 66.7%] ( 높은 s& 그냥 c)
    400/1000=40%, 400/600=66.7%
  • 강한 association rule은 오해의 소지가 있음: 전체 학생들의 cereal 섭취%는 75% > 66.7% (농구를 한 학생이 시리얼을 섭취할 확률) 
    not play-basketball => eat-cereal [35%, 87.5%] (높은 s&c)
  • 농구를 한 것과 시리얼을 먹는 게 상관이 없을 수도 있다. 농구를 하면 시리얼을 먹는 것이 아님. 그냥 먹는 학생 비율이 더 많으니까. 농구를 안 해도 시리얼을 먹을 수 있음

 

3.  흥미로움의 척도: Lift 

  • 의존도/상관관계 발생의 척도: lift엣

  • Lift(B, C)는 B와 C가 어떻게 상관이 있는지 말해준다.
    • Lift(B, C) = 1: B와 C는 독립한다. (independent) 
    • Lift(B, C) > 1: B가 일어나면 C가 반드시 일어난다 (positively correlated) 서로가 비례함.
    • Lift(B, C) < 1: B와 C는 부적 상관관계(negatively correlated) 서로가 반비례함
  • ex) 

  • B => C에서 lift(B, C) < 1; negatively correlated (연관성이 없음)
  • B => not C에서 lift(B, not C) > 1; positively correlated (B가 일어나면 C가 반드시 일어난다)
    ㄴ 유의미한 association rule

 

4. 흥미로움의 척도: X^2

  • 연관성을 가지는 사건의 측정: X^2

 

- 괄호 안 값: expected value (예상치)

- 괄호 밖 값: observed value (관측치)

  • X^2의 분포 테이블을 관찰 => B, C는 상관이 있다고 가정하자 (correlated)
  • 기각역 값이 10.828 인데, 카이제곱값이 55.56이므로 기각됨. -> independent 아님 -> 종속(correlated)관계다.
  • X^2-test 결과: B와 C가 부적 상관 관계에 있다는 걸을 알려줌(관측치는 400<예상치는 450이기 때문에)
  • 관측치<예상치: negatively correlation, 관측치>예상치: positively correlation
  • X^2(카이제곱)은 support-confidence 프레임워크보다 더 많은 것을 말해줌.

 

5. Lift와 X^2(카이제곱값) 이 항상 좋은 척도일까?

  • Null transaction: B와 C 둘 다를 포함하지 않는 Transaction

  • BC(100) 이고, B not C(1000), notB C(1000), notB notC(100000) 이므로 notB notC 가 매우 많다.
    => B와 C가 함께 일어날 가능성이 매우 적다고 판단됨
  • 그러나! Lift와 X^2(카이제곱값)을 측정해보자
  • Lift(B, C) = 8.44 >> 1 (Lift는 B와 C가 강하게 연관되어 있다는 것을 보여줌)
  • X^2 (카이제곱값) = 670: 관측된 BC값(100) >> 예상된 BC값 (11.85) 
    Positively correlated!
  • 많은 null trasaction은 예측을 망침

 

결론: 만약 null transaction이 우세하지 않다면, Lift, X^2와 cosine은 좋은 척도가 된다.

Null transaction을 커버할 수 있는 방법론이 존재할 것임