KR20120049505A - 상위 k개의 중요 패턴들을 마이닝 하는 방법 - Google Patents

상위 k개의 중요 패턴들을 마이닝 하는 방법 Download PDF

Info

Publication number
KR20120049505A
KR20120049505A KR1020100110783A KR20100110783A KR20120049505A KR 20120049505 A KR20120049505 A KR 20120049505A KR 1020100110783 A KR1020100110783 A KR 1020100110783A KR 20100110783 A KR20100110783 A KR 20100110783A KR 20120049505 A KR20120049505 A KR 20120049505A
Authority
KR
South Korea
Prior art keywords
tree
frequency
weighting
node
item
Prior art date
Application number
KR1020100110783A
Other languages
English (en)
Other versions
KR101275834B1 (ko
Inventor
윤은일
신현일
편광범
Original Assignee
충북대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 충북대학교 산학협력단 filed Critical 충북대학교 산학협력단
Priority to KR1020100110783A priority Critical patent/KR101275834B1/ko
Publication of KR20120049505A publication Critical patent/KR20120049505A/ko
Application granted granted Critical
Publication of KR101275834B1 publication Critical patent/KR101275834B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2425Iterative querying; Query formulation based on the results of a preceding query
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2465Query processing support for facilitating data mining operations in structured databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/313Selection or weighting of terms for indexing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Probability & Statistics with Applications (AREA)
  • Fuzzy Systems (AREA)

Abstract

본 발명은 제한수(threshold)를 가지지 않고 가장 중요한 순서대로 상위 K개의 중요 패턴들을 마이닝 하기 위한 방법을 제공하기 위한 것으로, 이와 같은 상위 K개의 중요 패턴을 마이닝 하기 위한 방법은 가중화 빈도수 트리(Weighted Support-Tree)를 생성하는 단계; 데이터베이스를 상기 가중화 빈도수 트리에 적용하는 단계; 상기 가중화 빈도수 트리에서 필요없는 아이템을 제거하는 단계; 상기 가중화 빈도수 트리에 패턴 성장기법을 적용하는 단계를 포함하고, 상술한 본 발명은 가중치와 빈도수를 동시에 고려하여 제한(threshold)수 없이 중요 패턴 중 상위 K개를 효율적으로 마이닝 할 수 있으며, 금융, 마케팅, 분산처리, 네트워크, 웹서비스, 예측, 차량진단, 의료진단, 바이오 기술, 신호등 많은 분야에 걸쳐 여러 유용한 응용 프로그램으로 개발할 수 있다는 효과도 있다.

Description

상위 K개의 중요 패턴들을 마이닝 하는 방법{Method of miming Top-K important patterns}
본 발명은 데이터 마이닝 방법에 관한 것으로서, 특히 제한수(threshold)를 가지지 않고 가장 중요한 순서대로 상위 K개의 중요 패턴들을 마이닝 하기 위한 방법에 관한 것이다.
일반적으로, 데이터 마이닝(Data mining)은 수많은 정보에 숨겨진 의미있는 정보를 찾기 위한 기법이다. 이와 같은 데이터 마이닝은 기존의 특성을 설명(Descriptive)하는 방법과 기존의 정보를 가지고 앞으로의 것을 예측하는 (Predictive) 방법으로 나눌 수 있다.
상기에서 설명하는 기법은 군집(Clustering), 요약(Summarization), 연관 규칙(Association Rule) 마이닝, 순차발견(Sequence Discovery)등이 있으며, 예측적 기법에는 분류(Classification), 회귀분석(Regression), 시간분석(Time Series Analysis), 예측(Prediction)등이 있다.
상기 데이터 마이닝 기법 중, 현재 가장 활발히 연구되고 있는 것은 기존의 특성을 설명하는 연관 규칙이다. 연관 규칙 중 “A라는 패턴(pattern)이 있을 때 B라는 패턴이 자주 발생한다”라는 규칙을 신뢰도(Confidence)라고 하고, “A라는 패턴과 B라는 패턴이 동시에 발생한다” 라는 규칙을 지지도(Support)라고 한다.
상기 신뢰도와 지지도 중, 지지도(Support)를 찾아내기 위해 데이터베이스(Database)에 저장된 데이터를 가지고 연관 규칙을 찾아내는 방법으로 패턴 마이닝(Pattern mining)기법이 있다. 이와 같은 패턴 마이닝 기법을 사용하기 위한 방법은 아래와 같이 3가지로 분류할 수 있다.
첫 번째는 트랜젝션의 지지도를 제한수(Threshold)를 정하여 제한수보다 많은 지지도를 얻은 모든 패턴을 찾는 방법이다. 대부분의 패턴 마이닝이 이 분야에 속하며 많은 방법들이 개발되었다.
두 번째는 닫힌 패턴(closed pattern)으로 제한수를 넘는 지지도를 가진 패턴 중 자신의 확대집합(Super Set)이 같은 지지도가 없는 패턴을 찾는 방법이다. 이 방법의 장점은 같은 지지도의 패턴 중 가장 큰 패턴을 찾을 수 있고 모든 패턴을 복원 가능하다.
세번째는 최대화패턴(Maximal pattern)으로 가장 길이가 큰 패턴의 지지도가 제한수보다 큰 것으로 이 패턴의 부분집합(Subset)은 찾지 않는다. 최대화 패턴은 외각선(Outlier)과 비슷한 응용이 가능하며 여러 분야에 쓰일 수 있다.
종래에는 실제로 추출된 패턴을 평가하여 사용할 때, 빈번한 모든 패턴을 찾기보단 상위 K개(이하, Top-K라고 명칭함.) 마이닝이 가장 빈번하게 일어나는 패턴(Top-K Item set Mining)을 찾는 방법을 사용하였다.
이와 같은 종래의 Top-K 마이닝은 가장 빈번하게 일어나는 패턴 정보를 가지고 전체를 파악하거나 중요한 패턴을 이용하는 경우에 사용되는 것이다.
그리고, 종래의 Top-K 패턴 마이닝은 가장 빈번한 상위 K개의 패턴을 마이닝 하는 방법이기 때문에 제한수(threshold)가 주어지고 이 제한수보다 지지도가 크거나 같은 패턴을 찾는 방법과는 다른 접근 방법을 가진다.
이와 같은 종래의 Top-K 패턴 마이닝은 모든 데이터베이스가 다르며 포함된 패턴이 어떤 빈도수를 가지는지 알 수 없기 때문에 마이닝 프로세싱을 하면서 제한수가 점점 커지는 특성이 있다. 제한수가 계속 변동하기 때문에 이를 관리하는 기술이 필요하다.
이와 같은 종래의 Top-K 패턴 마이닝은 마이닝된 패턴의 특성에 따라 2가지로 나눌 수 있다.
첫 번째는 아이템 길이와 상관없이 가장 빈번한 패턴을 K개 찾는 Top-K 빈발 패턴(아이템 셋)을 마이닝 하는 것이고, 두 번째는 각 패턴 길이(최대길이 N)에 따라 가장 빈번한 패턴 K개를 각각 찾는 Top-K 빈발 N-아이템 셋 마이닝이 있다.
가중치(Weight)를 고려한 패턴 마이닝은 데이터베이스를 구성하는 아이템에 가중치를 주어 중요한 아이템은 높은 가중치를, 크게 고려하지 않아도 되는 아이템은 가중치를 낮게 부여하여 가중치를 고려한 지지도가 제한수 보다 큰 가중화 빈발패턴(Weighted Support Frequent Pattern)을 찾아내는 방법이다.
상기와 같은 종래의 Top-K 패턴 마이닝은 각 아이템의 중요도를 고려하지 않아 모든 아이템을 동등하게 가정하고 마이닝을 하는 방식이다.
그러나, 이와 같은 종래의 Top-K 패턴 마이닝 방법을 사용하면 실제로 사업에 적용하였을 때 잃어버리는 데이터가 생겨날 수 있다. 예를 들어, 장비를 제조하여 판매하는 회사에서 장비를 판매한 실적을 평가하고자 할 때 경장비는 많이 팔리지만 남는 이윤이 많지 않고 중장비는 거의 팔리지 않지만 이윤이 많이 남는 경우 모든 아이템을 동등하게 취급하는 기존의 패턴 마이닝의 결과 가장 중요한 판매 실적 정보로서 중장비는 포함되지 않고 경장비만 포함되는 단점을 보이게 된다.
이에 따라서, 종래의 Top-K 패턴 마이닝 시의 단점을 보완할 수 있는 효율적인 마이닝 방법의 연구가 필요한 실정이다.
본 발명은 상기한 종래기술에 따른 문제점을 해결하기 위해 제안된 것으로서, 효율적인 마이닝을 하기 위해 가중치와 빈도수를 동시에 고려하여 제한(threshold)수 없이 상위 K개의 중요 패턴들을 마이닝하는 방법을 제공하는데 그 목적이 있다.
상기 목적을 달성하기 위한 본 발명의 상위 K개의 중요 패턴들을 마이닝 하는 방법은 가중화 빈도수 트리(Weighted Support-Tree)를 생성하는 단계와, 데이터베이스를 상기 가중화 빈도수 트리에 적용하는 단계와, 상기 가중화 빈도수 트리에서 필요없는 아이템을 제거하는 단계와, 상기 가중화 빈도수 트리에 패턴 성장기법을 적용하는 단계를 포함하여 진행되는 것을 특징으로 한다.
상술한 본 발명의 상위 K개의 중요 패턴들을 마이닝 하는 방법은 가중치와 빈도수를 동시에 고려하여 제한(threshold)수 없이 중요 패턴 중 상위 K개를 효율적으로 마이닝 할 수 있다는 효과가 있다.
또한, 이와 같이 가중화를 고려한 Top-K 마이닝은 금융, 마케팅, 분산처리, 네트워크, 웹서비스, 예측, 차량진단, 의료진단, 바이오 기술, 신호등 많은 분야에 걸쳐 여러 유용한 응용 프로그램으로 개발할 수 있다는 효과도 있다.
도 1은 본 발명에 따른 가중화 패턴 트리 구조를 설명하는 도면이다.
도 2는 본 발명에 따른 가중화 빈도수 트리(Weighted Support-Tree)를 생성하는 방법을 나타낸 흐름도이다.
도 3은 본 발명에 따른 가중화 빈도수가 커지는 순으로 WS-트리에 트랜잭션을 삽입하는 구성도를 보여주는 도면이다.
도 4는 본 발명에 따른 Top-K 마이닝에 사용될 데이터베이스 예제를 보여주는 도면이다.
도 5는 본 발명에 따른 데이터베이스에서 각 트랜잭션의 아이템들을 가중화 빈도수가 커지는 순서대로 정렬한 도면이다.
도 6는 본 발명에 따른 도 3의 데이터베이스에서 가중화 빈도수 트리를 구축한 예를 보여주는 도면이다.
도 7은 본 발명에 따른 러프 컷오프(Rough Cutoff)를 이용하여 WS-트리를 구축하는 방법에 대한 도면이다.
도 8은 본 발명에 따른 가중치를 적용한 Top-K 마이닝의 패턴 성장기법을 보여주는 도면이다.
본 발명은 제한수(threshold)를 가지지 않고 가장 중요한 순서대로 상위 K개의 중요 패턴들을 마이닝 하기 위한 방법이다.
실제 데이터들에는 가격정보가 포함되거나 이윤정보 또는 다른 특성에 종속되는 데이터들이 많다. 이를 고려하여 상위 K개(Top-K)의 중요패턴들을 마이닝 하기 위해선 가중치를 적용하여 마이닝하는 것이 필요하다.
본 발명은 가중화 패턴을 고려하기 위한 가중화 빈도수 트리(Weighted Support Order Tree)로 상위 K개(Top-K)를 마이닝하는 방법과, 효율성을 높이기 위한 푸르닝(prunning) 기법으로 러프-컷오프(Rough-cutoff)와 터프-컷오프(Tough-cutoff)을 이용한 기법을 사용하였다.
본 발명의 가중화를 고려한 Top-K 마이닝은 금융, 마케팅, 분산처리, 네트워크, 웹서비스, 예측, 차량진단, 의료진단, 바이오 기술, 신호등 많은 분야에 걸쳐 여러 유용한 응용 프로그램을 개발할 수 있다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부 도면을 참조하여 설명하기로 한다.
본 발명에 따른 상위 K개의 중요 패턴들을 마이닝 하는 방법은, 먼저, 도 1에 도시한 바와 같이, 가중화 빈도수 트리(Weighted Support-Tree)(이하, WS-트리라고 명칭함.)를 생성한다.
이때, WS-트리는 데이터베이스에서의 트랜잭션을 반복적으로 읽지 않고 저장구조에 저장하여 성능을 향상시키기 위한 저장구조이다.
이와 같은 WS-트리는 압축된 형태의 트리 구조로서, 루트로부터 각 노드들은 가중화된 빈도수가 커지는 형태로 구성된다. 트리 구조 옆에는 헤더 테이블(110)이 있어서 트랜잭션 안에 있는 아이템들의 빈도수 및 가중치와, 트리(120)에서 같은 아이템을 가지는 노드들을 포인팅하는 링크들로 구성된다.
다음에, 상기 WS-트리를 생성하는 방법에 대하여 설명하면, 도 2에 도시한 바와 같이, 데이터베이스(200)에서 트랜잭션 데이터베이스를 스캔하여 읽고(S210), 트랜잭션 데이터베이스에서 각 트랜잭션 내에 있는 아이템들을 가중화 빈도수 순서의 오름차순이나 내림차순으로 정렬한다(S220).
트랜잭션 내의 정렬된 아이템들은 순차적으로 전역 WS-트리에 트리의 루트부터 대응되는 노드로의 경로를 따라서 삽입된다(S230). 그리고, 삽입된 아이템이 기존 노드 아이템인지 판별하여, 아니면, 즉, 새로운 노드가 한 경로 상에 삽입된 것이면, 그 노드안의 아이템의 빈도수가 계산되어 새로운 노드를 생성(S240)한다.
반면에, WS-트리에서 기존의 노드 아이템이 이용된 것이라고 판별되면, 그 노드 안에서 아이템의 빈도수는 1씩 증대된다(S250).
이때, 상기와 같이 새로운 노드 생성(S240)과 노드의 빈도수를 1씩 증대(S250) 시키는 단계 후에는 각각 트리삽입(S230) 단계로 진입하여 반복적으로 상기 처리과정들을 수행한다.
이런 방식으로, 기존 트랜잭션 데이터베이스로부터 압축된 형태의 데이터가 도 1의 트리 안에 저장된다.
이와 같은 WS-트리 구조는 패턴 성장 기법 (pattern growth method)에 근간을 두지만 Top-K 가중화 패턴들에 속하는 가중화 빈도수 (Weighted support)를 효율적으로 계산하기 위해서 가중치와 빈도수를 구하여 저장한다.
예를 들어, 빈발패턴 Pn(p1p2, .., pn)이 주어질 때, Pn-조건적 데이터베이스(conditional database)는 아이템 pn을 포함하는 트랜잭션들을 수집하고, 다음의 조건을 만족하는 아이템들을 제거(pruning)함으로서 Pn-1(p1p2, .., pn-1)-조건적 데이터베이스가 유도된다.
상기 제거되는 아이템들은 (1)가중화 빈발(weighted frequent)이 아닌 아이템들, (2)가중화 빈발 아이템들 가운데 아이템 pn 이후에 나오는 가중화 빈발 아이템들 그리고, (3)아이템 pi 자기 자신이다.
이와 같은 패턴 Pn(p1p2, .., pn)은 조건적 패턴 (conditional pattern) 또는 프리픽스(prefix)라 하고, 그 조건적 패턴을 포함하는 트랜잭션의 집합을 Pn-조건적 데이터베이스(Pn-투영된(projected) 데이터베이스)라고 정의한다. 정의된 WS-트리에서 가중화 빈도수의 값들을 일관성 있게 유지함으로 트리구조로부터 생성되는 가중화 패턴들이 안티-모노톤(Anti-monotone) 법칙을 만족시키도록 하여 한 패턴이 가중화 패턴이 아니면 그 패턴의 모든 슈퍼 패턴도 가중화 패턴이 아닌 것이 보장되어 Top-K 가중화 패턴을 효율적으로 찾는 구조를 가지도록 하는 트리구조이다.
가중화 빈도수(weighted support)로 각 트랜잭션의 아이템들을 정렬하며 이것을 트리의 루트 노드로부터 새로운 노드를 삽입하여 순회 시에는 같은 아이템들을 가지는 노드들을 리프부터 순회하도록 한다. 이때, 조건적 패턴, P가 주어지고, 그 조건적 패턴 P를 가지고 조건적 데이터베이스로부터 생성되는 패턴 Q에 대해서, 패턴 P의 가중화 빈도수(WS)의 값은 조건적 데이터베이스에서 생성되는 패턴 Q의 가중화 빈도수 값보다 크거나 같은 특성이 있다.
도 3은 데이터베이스 내의 트랜잭션들 내에 아이템들이 가중화 빈도수가 증대되는 순서대로 정렬되고, 각 트랜잭션내의 아이템들이 트리의 루트로부터 삽입되어진 예를 보여주고 있다.
도 3을 참조하면, WS-트리에서 한 아이템을 가지는 트리의 노드로부터 한 경로(i1i2…in)에 대해서 그 경로는 트랜잭션 데이터베이스나 조건적 데이터베이스 안에 한 트랜잭션 t(t1t2…tn)로부터 만들어진다. 이때, WS(i1) ≤ WS(i2) ≤…≤ WS(in))이다. 이 가중화 트리는 트리의 리프로부터 루트로 순회(bottom up traversal)한다. 가중화 빈도수 오름차순에서는 가중화 빈도수가 가장 큰 리프 노드로부터 그 위의 레벨로 증대되는 형태로 조건적 패턴(conditional pattern)이 선택된다. 최종적으로, 조건적 패턴 P는 조건적 데이터베이스 내에서 생성되는 어떤 패턴의 가중화 빈도수보다 크거나 같은 특성을 가지게 된다.
도 4는 Top-K 중요 패턴 마이닝에 사용될 데이터베이스를 예시적으로 나타낸 것이고, 도 5는 도 4의 트랜잭션 데이터베이스에 대해서 각 트랜잭션 내의 아이템들을 가중화 빈도수가 커지는 순서로 정렬한 트랜잭션 데이터베이스의 예제를 보이고 있다.
예를 들어, 원하는 가중화 패턴의 수가 5개인 경우에 WS-트리는 다음과 같은 순서로 구축된다. 먼저 트랜잭션 데이터베이스를 한번 스캔하여 각 아이템들의 빈도수와 가중치를 계산한다. 그 후에 다시 한 번 스캔하여 각 아이템들의 최종 빈도수를 다음과 같이 <a:2, b:2, c:5, d:6, e:6, f:2, g:6, h:3, i:4>로 구한다. 가중치가 <a:0.85, b:0.75, c:0.8, d:0.9, e:0.75, f:0.7, g:0.85, h:0.7, i:0.9>로 주어질 때, 가중화 빈도수가 커지는 순서의 아이템 리스트는 <(d:5.4) (g:5.1) (e: 4.5) (c:4.0) (i:3.6) (h:2.1) (a:1.7) (b:1.5), (f:1.4)>이다. 우리가 구하는 가중화 빈도수가 가장 큰 5개의 패턴만을 찾으면 되므로, 아이템, d, g, e, c, i를 제외한 나머지 아이템들인 a, b, f는 제거된다. 이에 따르면, 이후에 후보 패턴을 제거하기 위해서 자동적으로 설정되는 제한수(threshold)가 3.6으로 설정된다. 그리고, 남아있는 가중화 아이템(혹은 길이가 1인 가중화 패턴)은 가중화 빈도수가 커지는 순서로 정렬된다.
또한, 가중화 빈도수 내림차순에서는 가중화 빈도수가 가장 작은 아이템이 포함된 조건적 패턴부터 선택되지 않고 가중화 빈도수가 중간인 아이템의 패턴부터 선택한다. 이 조건적 패턴은 가중화 빈도수 오름차순과 동일하게 조건적 데이터베이스 내에서 생성되는 어떤 패턴의 가중화 빈도수보다 크거나 같은 특성을 가지게 된다. 정렬은 내림차순이지만 가중화 빈도수가 가장 큰 5개의 패턴만 찾으므로 가장 큰 5개보다 가중화 빈도수가 작은 패턴과 아이템은 제거된다.
도 6은 도 5의 정렬된 트랜잭션들을 WS-트리에 삽입하여 구축된 WS-트리를 보여주고 있다. 도 6에서 왼쪽 테이블은 헤더 테이블로 각 아이템들이 가중화 빈도수 오름차순으로 정렬된 것을 볼 수 있으며, 아이템들의 가중치와 빈도수가 저장되어 있다. 또한, 노드-링크(node-link)가 있어 트리 내에 같은 아이템들을 가리키는 포인터로서 역할을 한다.
종래의 패턴 마이닝에서는 사용자가 정의(user-defined)하는 최소 제한수(Minimum threshold)와 후보 패턴의 빈도수를 비교하여 패턴의 가중화 패턴 여부를 판단한다. 즉, 한 패턴 P가 가중화(빈발) 패턴인지 여부는 그 패턴 P의 가중화 빈도수(WS(P))가 제한수(threshold)보다 크거나 같으면 그 패턴 P는 가중화(빈발) 패턴이라 한다. 하지만, 종래의 Top-K 가중화 패턴 마이닝에서는 후보 패턴이 가중화 패턴인지 아닌지를 판단하기 위해서 사용할 수 있는 제한수(threshold)가 주어지지 않기에, 제한수를 자동으로 찾아서 Top-K에 포함되지 않는 후보 패턴을 효과적으로 제거하는 방법이 필요하다. 즉, K개의 가중화 빈발 패턴을 마이닝하는데 있어서 사용자가 정의한 제한점(threshold)이 없다.
본 발명에서는 최소 제한수를 기준으로 러프-컷오프(Rough-cutoff)를 마이닝 과정 중에 자동적으로 제한점으로 설정하여 K개에 속하지 않는 가중화 패턴을 효율적으로 제거하도록 한 것이다.
여기서, 러프-컷오프(Rough-Cutoff)(RC)는 트랜잭션 데이터베이스 내의 아이템들의 가중화 빈도수가 K번째로 큰 수로 설정된다. 본 발명에는 기존 마이닝과 다르게 제한점이 주어지지 않지만, 러프-컷오프(Rough-Cutoff) 값이 초기상태로 제한점의 역할을 한다. 만일 K번째 값이 주어지지 않으면 러프-컷오프(Rough-cutoff)는 0으로 설정된다. 이때, 러프-컷오프(Rough-cutoff)에 대한 중요한 특성이 있는데, 길이가 1인 패턴(아이템), P의 가중화 빈도수가 러프-컷오프(Rough-cutoff)보다 작으면, 그 패턴 P는 Top-K 가중화 패턴에 속해질 수 없다는 것이다.
반면, 패턴 P의 슈퍼 패턴(super pattern) Q는 Top-K 가중화 패턴에 속해질 수 있다. 트랜잭션 데이터베이스에서 러프-컷오프(Rough-cutoff) 보다 더 적은 가중화 빈도수를 가지는 길이 1인 패턴은 전역 WS-트리를 구축하기 이전에 제거될 수 없다. 왜냐하면, 현재에서는 K번째로 큰 가중화 빈도수를 가지는 가중화 패턴에 포함되지 않지만 마이닝 작업을 진행하는 과정 중에 더 큰 가중치를 가지는 아이템이 포함되면 그 아이템을 포함하여 계산된 가중화 빈도수가 커져서 Top-K에 포함될 수 있기 때문이다. 이러한 제한점 때문에, 좀 더 세심한 후보패턴에 대한 검사가 필요하다. 이를 위해, 근접 범주에 드는 가중화 패턴의 안티-모노톤(Anti-monotone) 법칙을 유지하기 위해서 후보 패턴의 최대 가중화 빈도수(Maximum Weighted Support(MWS))를 확인한다. 패턴의 최대 가중화 빈도수는 초기 트랜잭션 데이터베이스나 마이닝 과정 중 만들어지는 조건적 데이터베이스 내에서의 최고 가중치를 이용하여 패턴들의 최대 가중화 빈도수를 구하여 이 값을 가지는 후보패턴에 대해서는 안티-모노톤(Anti-monotone) 법칙이 만족함을 보이며 이를 통하여 효율적으로 후보 패턴을 제거한다. 길이가 1인 패턴 P의 최대 가중화 빈도수 (Maximum Weighted Support(MWS))가 러프-컷오프(rough-cutoff) 보다 작으면, 그 패턴, P의 어떤 슈퍼패턴 Q도 Top-K 가중화 패턴이 될 수 없다는 특성을 이용하여 효율적인 마이닝 과정을 보인다.
먼저, 한 패턴 P의 빈도수(P)(support(P))는 그 패턴의 어떤 슈퍼 패턴 Q의 빈도수(Q)(support(Q)) 보다 크거나 같다(빈도수(Q) ≤ 빈도수(P)). 그리고, 한 패턴의 최대 가중화 빈도수(MWS)는 그 아이템이 포함되어 있는 트랜잭션(또는 조건적) 데이터베이스에서의 최대 가중치(MaxW)와 그 패턴의 빈도수를 곱한 값((MWS(P)=(빈도수(P) * MaxW)) 이며, (MWS(Q)=(빈도수(Q) * MaxW)))이다. 패턴 P의 MWS(MWS(P))는 패턴 P의 슈퍼 패턴 Q의 MWS (MWS (Q))보다 항상 크거나 같다 (MWS (Q) ≤ MWS (P)). 왜냐하면, 빈도수(Q)≤빈도수(P) 이기 때문이다.
또한, 패턴 Q의 가중치는 그 패턴이 속한 최대 가중치(MaxW) 보다 작거나 같기 때문에 (가중치(Q) ≤ MaxW) 그 패턴 Q의 최대 가중화 빈도수(MWS)는 WS(Q)보다 크거나 같다(WS(Q) ≤ MWS (Q)). 그러므로 우리는 다음의 관계를 알 수 있다.
WS (Q) ≤ MWS (Q) ≤ MWS (P) < 러프-컷오프(Rough-cutoff)
위의 정보를 가지고 길이가 1인 패턴 P의 MWS 즉, MWS(P)가 러프-컷오프(Rough-cutoff)보다 작으면 WS(Q) 역시 러프-컷오프(Rough-cutoff) 보다 작으며 (WS(Q) < 러프-컷오프(Rough-cutoff)) 최종적으로 WS(Q) < 러프-컷오프(Rough-cutoff)가 만족함을 알 수 있다.
최종적으로 패턴 P의 슈퍼 패턴 Q는 상위 K개에 속하지 못하며 Top-K 가중화 패턴에 속할 수 없다. 위의 특성으로부터, 최대 가중화 빈도수(Maximum Weighted Support(MWS))가 러프-컷오프(Rough-cutoff)보다 작은 길이가 1인 패턴은 바로 제거할 수 있다.
도 7은 Top-K 가중화 패턴을 마이닝 하는데 있어서, 러프-컷오프(Rough-cutoff)를 이용한 제거(pruning) 기술을 적용한 WS-트리의 구축 과정을 보여준다.
좀 더 자세하게 설명하면, 도 7에 도시한 바와 같이, 데이터베이스(750)에서 트랜잭션 데이터베이스를 스캔하여 읽는다(S710).
다음에, 데이터베이스(750) 내의 각 트랜잭션 내에 있는 아이템들을 가중화 빈도수 오름차순인 경우 가중화 빈도수가 커지는 순으로 정렬하고, 빈도수 내림차순인 경우 가중화 빈도수가 작아지는 순으로 정렬한다(S720).
이어서, 러프-컷오프(rough-cutoff)를 상기에 정의한 대로 계산한다(S730).
이후에, 각 아이템들의 MWS(Maximum Weighted Supports)값은 러프-컷오프(Rough-cutoff)와 비교하여 러프-컷오프(Rough-cutoff)보다 크거나 같은 MWS를 가지는 아이템들만을 WS-트리에 삽입을 한다(S740). 즉, 러프-컷오프(Rough-cutoff) 조건을 통과하는 아이템들만이 전역 또는 지역 WS-트리에 삽입될 수 있다.
러프-컷오프(Rough-cutof)가 트랜잭션 데이터베이스에서의 초기 제한점(threshold)으로 자동 갱신되며 길이가 1인 후보 패턴을 제거하는데 사용되어 잠재적으로 Top-K 가중화 패턴이 될 수 있는 패턴들을 전역 WS-트리에 삽입하도록 한다.
그리고, 상위 K개의 중요 패턴들을 마이닝할 때, 가중화 빈도수 트리에서 필요없는 아이템을 제거하는 방법으로, 상기 러프-컷오프뿐만 아니라, 토프-컷오프(Tough-Cutoff)(TC)를 이용할 수 있다.
상기 토프-컷오프(Tough-Cutoff)(TC)는 도면에는 제시되어 있지 않지만, 마이닝 과정 중에 현재까지 발견된 가중화 패턴에서의 K번째로 큰 가중화 빈도수로 정의된다. 재귀적으로 전역 WS-트리는 더 작은 타스크들로 나뉘어져서 조건적 데이터베이스들로 나누어지며 각 조건적 데이터베이스로부터 다시 로컬 WS-트리들이 구축된다. 조건적 데이터베이스에서 길이가 1인 패턴 Q의 최대 가중화 빈도수는 토프-컷오프(Tough-cutoff)와 크기가 비교되며, 패턴 Q의 최대 가중화 빈도수(Maximum Weighted Support(MWS(Q)))가 토프-컷오프(tough-cutoff)보다 작은 패턴들을 모두 제거한 후, 로컬 WS-트리가 재귀적으로 구축된다. 이런 제거(pruning) 방법을 사용할 수 있는 것은 조건적 데이터베이스에서 토프-컷오프(Tough-cutoff)보다 작은 MWS를 가지는 패턴 Q의 어떤 슈퍼 패턴도 Top-K 가중화 패턴이 될 수 없기 때문이다. 마이닝 과정이 WS-트리를 이용하여 재귀적으로 반복되는 동안, 토프-컷오프(Tough-cutoff)는 트리 내에 같은 아이템을 가지는 노드들을 순회(traversal)하면서 그 토프-컷오프(Tough-cutoff) 값이 더 작은 쪽으로 갱신되기에 제거(pruning)의 효과는 더 커진다.
이와 같이 러프-컷오프(Rough-cutoff)와 토프-컷오프(Tough-cutoff)를 기준으로 기준에 미치지 않는 후보 패턴은 가능한 빨리 제거하게 된다. WS-트리에서, 헤더 테이블에서의 아이템들(Ik)을 가지고 있고, 각 아이템들은 WS-트리내의 아이템들을 지시하고 있다. 이때, 아이템(Ik)의 노드 링크를 따라 순회하여 지역 WS-트리를 생성하는데, 이때 이 트리 구조로부터 생성될 수 있는 가중화 패턴의 가중화 빈도수는 아이템(Ik)의 가중화 빈도수보다 크지 않아야 한다. 다시 말하면, 아이템 Ik를 순회하여 마이닝 되어 결과로 나오는 가중화 패턴의 가중화 빈도수WS(Ik)는 아이템 Ik-1의 가중화 빈도수보다 크지 않아야 한다.
상기의 특성을 이용하여 토프-컷오프(Tough-cutoff)를 가지고 제거(pruning)를 진행한다. WS-트리 안에서 아이템 Ik의 노드-링크(node-link)를 순회한 후에, 다음의 아이템 Ik-1을 순회하기 전에, (Ik-1)(WS(Ik-1))의 가중화 빈도수와 토프-컷오프(Tough-cutoff)를 비교하여 아이템 Ik-1의 가중화 빈도수, WS(Ik-1)가 토프-컷오프(tough-cutoff)보다 작으면 아이템 Ik-1을 가지고 진행하는 마이닝 작업은 중단하고 헤더 테이블의 다음 아이템을 가지고 진행한다. 반면, WS(Ik-1)가 토프-컷오프(Tough-cutoff)보다 크거나 같으면 WS-트리로부터의 마이닝은 지속된다. WS-트리의 헤더 테이블에 있는 아이템 Z의 노드 링크를 순회하면서 찾아지는 가중화 패턴의 가중화 빈도수는 아이템 Z의 가중화 빈도수(WS(Z))보다 클 수 없다. 그러므로, 아이템 Z의 가중화 빈도수가 토프-컷오프(Tough-cutoff)보다 작다면 아이템 Z를 포함하는 모든 슈퍼 패턴의 가중화 빈도수도 토프-컷오프(Tough-cutoff)보다 작다. 또한, WS(Z) 값이 토프-컷오프(Tough-cutoff) 보다 작다면 WS-트리의 헤더 테이블에서 아이템 Z보다 위에 있는 모든 아이템 Z`와 아이템 Z`를 순회하면서 얻어지는 가중화 패턴들도 토프-컷오프(Tough-cutoff)보다 더 작은 가중화 빈도수를 갖는다. 이 특성으로부터, 헤더 테이블의 아이템 Z의 가중화 빈도수(WS(Z))가 토프-컷오프(Tough-cutoff)보다 작으면 아이템 Z로부터의 마이닝 과정은 멈출 수 있다.
토프-컷오프(Tough-cutoff)를 이용한 마이닝을 예로 설명하면, 도 6과 같이 WS-트리가 구축되었을 경우, 트리 내에 아이템 “e”를 지시하고 있는 노드링크를 순회한 후 다음의 5개의 Top-5 가중화 아이템들이 생성된다. “d:5.4”, “g:5.1”, “e:4.5”, “dg:5.25”그리고, “de: 4.95”. 이때, 각 숫자는 아이템들의 가중화 빈도수를 나타낸 것이다. 상위 5번째 가중화 빈도수는 4.95이므로 현재까지 토프-컷오프(Tough-cutoff)는 4.95이다. 그 다음 아이템 “c”를 순회하기 전에 아이템 “c”의 가중화 빈도수(WS(“c”))와 토프-컷오프(Tough-cutoff)(4.95)를 비교하여 WS(“c”)의 값이 4.0이고 이 값은 토프-컷오프(Tough-cutoff)(4.95) 보다 작으므로 더 이상 마이닝을 진행하지 않고 멈출 수 있다.
다음에, 가장 상위 K개의 가중화 패턴을 찾는 Top-K 가중화 패턴 마이닝 기술에 대한 마이닝 과정을 살펴보기로 한다.
먼저, 도 6의 가중화 패턴 트리를 구축한 후, 가중화 패턴 후보는 현재까지 "d: 5.4", "g: 5.1", "e: 4.5", "c: 4.0", "i: 3.6", "h:2.1", "a:1.7", "b:1.5" 그리고, "f:1.4"이고 이중 상위 5개(Top-5)의 가중화 패턴은 "d: 5.4", "g: 5.1", "e: 4.5", "c: 4.0", "i: 3.6"이다. 이때, 로프-컷오프(Rough-cutoff)는 가중화 아이템(혹은 길이가 1인 가중화 패턴)의 가중화 빈도수 중에서 5번째 큰 수를 선택하여 3.6이다. 트랜잭션 데이터베이스로부터 구축한 전역 WS-트리는 도 6에 보이고 있으며 더 작은 지역 WS-트리들로 나누어진다.
도 8은 트랜잭션 데이터베이스를 이용하여 도 6처럼 구축된 WS-트리를 이용한 Top-K 가중화 패턴 마이닝의 패턴성장기법을 나타낸 것이다.
이와 같이 Top-K 중요 패턴 마이닝의 패턴 성장기법은, 도 8에 도시한 바와 같이, 먼저, 트리의 형태가 한 개의 경로로만 이루어져 있는지 즉, 싱글 패스(path)만이 존재하는지를 판별한다(S810).
판별결과, 트리가 한 개의 경로로만 이루어져 있으면, 경로의 아이템의 집합을 모두 만들어 터프-컷오프(Tough-cutoff)보다 큰 아이템을 Top-K에 추가한다(S820).
판별결과, 트리가 여러개의 경로로 이루어져 있다면, 트리의 리프노드(가중화 빈도수가 가장 큰 아이템을 가진 노드)부터 루트방향으로 순회(traversal)를 한다. 예를 들어, 헤더 테이블의 아이템 중, 가중화 빈도수 오름차순의 경우에는 가장 큰 가중화 빈도수를 갖는 아이템에서 작아지는 순서대로 선택을 한다. 그리고, 가중화 빈도수 내림차순의 경우에는 가중화 빈도수가 중간 크기의 아이템부터 작아지는 순서대로 선택한 다음에 중간부터 커지는 순서대로 선택을 한다(S830).
이후에, 헤더 테이블에서 선택된 아이템의 링크노드를 따라 연결된 노드에서 트리의 루트까지 상향식으로 탐색을 하거나 연결된 노드에서 트리의 리프까지 BFS(Breadth First Search)방식과 DFS(Depth First Search) 방식으로 탐색한다(S840).
다음에, 탐색된 경로의 아이템들을 하나의 조건적 트랜잭션으로 만들어서, 가장 작은 초기 터프-컷오프(Tough-cutoff)보다 작은 아이템을 조건적 트랜잭션에서 제거한다(S850).
이후에, 조건적 데이터베이스를 구축하고(S860), 구축된 조건적 데이터베이스를 스캔하여 로컬 WS-트리를 생성한다(S870).
그리고, 생성된 로컬 WS-트리를 패턴 성장기법을 이용하여 반복적으로 로컬 WS-트리를 생성한다.
이와 같이 WS-트리를 탐색할 때 하향식(top-down) 방식을 사용하는 방법은 트리순회를 하는 방법에 따라서, DFS(Depth First Search)방식과 BFS(Breadth First Search)방식으로 나누어진다.
예를 들어, 함수의 재귀 호출을 이용하여 DFS방식과 BFS방식을 적용할 수 있는데, 이때, DFS방식은 트리의 자식노드를 먼저 호출하는 방법을 이용하고, BFS는 트리의 형제 노드를 먼저 호출하는 방식으로 탐색한다. 이때, 리프노드에 도달하거나 자식노드의 빈도수 합이 현재 노드의 빈도수 합보다 작으면 하나의 경로로 인식하여 조건적 데이터베이스를 생성한다.
또한, 함수의 재귀를 사용하지 않고 반복자를 이용하여 DFS방식과 BFS방식을 적용할 수도 있다. 먼저, DFS방식은 스택을 이용하는데 스택에는 자식노드의 주소가 하나씩 삽입되고 현재 노드가 리프노드이거나 자식노드의 아이템 빈도수보다 큰 노드인 경우 하나의 경로로 인식하여 탬색된 노드의 아이템으로 조건적 데이터베이스를 생성한다. 그리고, BFS방식은 큐를 이용하여 자식 노드의 주소를 저장하고 사용한다. BFS탐색 방식은 형제노드를 먼저 방문하는 방식이기에 저장한 순서대로 사용 가능한 큐를 이용한다. BFS탐색은 여러 경로를 같이 탐색하기 때문에 DFS와 다르게 시작지점으로부터 현재까지 탐색된 경로를 저장하는 공간이 추가된다. 경로 인식은 DFS와 마찬가지로 리프노드이거나 자식노드의 아이템 빈도수보다 큰 노드인 경우 하나의 경로로 인식하여 조건적 데이터베이스를 생성한다.
상기와 같은 Top-K 중요 패턴 마이닝의 패턴 성장기법을 도 6의 트리를 이용하여 설명하면 다음과 같다.
먼저, 선택된 아이템의 가중화 빈도수가 초기 토프-컷오프(Tough-cutoff)보다 작으면 더 이상 진행하지 않고 다음 아이템을 선택한다. 아이템 "d"를 가진 노드에 대해서, 가중화 빈도수 WS("d")는 5.4.이며 이값은 초기 토프-컷오프(Tough-cutoff) 보다 크며 마이닝은 계속 진행된다.
아이템 "d"를 조건적 패턴(conditional pattern)으로 하여 아이템 "d"를 가지고 있는 노드들을 따라서 조건적 패턴(conditional pattern) "d:6"(패턴:빈도수)에 대해서 전역 WS-트리로부터 생성되는 조건적 데이터베이스는 3개의 트랜잭션인 (gec:2), (geci:3)과 (gei:1)을 포함한다. 조건적 데이터베이스 안에 각 아이템의 MWS(Maximum Weighted Support)는 토프-컷오프(Tough-cutoff)와 큰 아이템은 최종적으로 가중화 패턴에 포함될 수 있는 잠재적 아이템이며 이 과정에서는 아이템은 "g:6", "e:6", "c:5" 그리고 "i:4"이다.
조건적 데이터베이스에서 각 트랜잭션안의 아이템들은 가중화 빈도수가 커지는 순으로 정렬되며 이를 근간으로 조건적 패턴 "d"를 가지는 로컬 WS-트리가 구축된다. 조건적 패턴은 한 아이템이 추가로 조합되면서 갱신되며 이 새로운 조건적 패턴을 가지고 조건적 데이터베이스가 생성되며 이는 위의 작업을 재귀적으로 반복한다.
Top-K 가중화 패턴은 마이닝하는 과정 중에 선택하며, 초기에 선택된 가중화 패턴 K개가 더 큰 가중화 빈도수를 가지는 K개로 갱신됨에 따라 토프-컷오프(Tough-cutoff) 기준 값도 K번째 큰 가중화 빈도수 값으로 갱신되며 이 마이닝 과정은 재귀적으로 로컬 WS-트리 내에 싱글 패스(path)만이 존재할 때까지 반복된다.
WS-트리가 싱글 패스이면 지금 현재 조건적 패턴 "α" 노드들의 아이템들은 결합적으로 생성된다. 그리고, 조건적 패턴 "β"를 포함하는 패턴의 가중화 빈도수(WS(βUα))는 토프-컷오프(Tough-cutoff)와 비교하여 큰 값을 가지는 패턴(WS(βUα)≥토프-컷오프(Tough-cutoff))이 Top-K 가중화 패턴으로 선택된다. 그리고, 이를 반영하여 토프-컷오프(Tough-cutoff)는 다시 K번째 가중화 빈도수로 갱신된다.
아이템 "d" 다음으로 큰 가중화 빈도수를 가지는 아이템 "g:6"에 대해서도 조건적 패턴 "g:6"로부터 WS-트리 안에서 3개의 패스가 존재하여 이 패스를 따라 3개의 트랜잭션 (ec:2), (eci:3)와 (ei:1)을 가지는 조건적 데이터베이스를 만든다. 조건적 데이터베이스는 로컬 WS-트리로 만들어지며 위에서 설명한 방식으로 싱글 패스가 나올 때까지 WS-트리는 더 작은 조건적 데이터베이스로 나뉘어서 작업을 반복하여 최종적으로 종료가 되었을 때, Top-K 가중화 패턴을 가지게 된다.
본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아니다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다. 따라서, 본 발명의 범위는 설명된 예에 의해서가 아니라 청구범위에 의해서 정해져야 할 것이다.
* 도면의 주요 부분에 대한 부호의 설명
110 : 헤더 테이블 120 : 트리
200, 750 : 데이터베이스

Claims (10)

  1. 가중화 빈도수 트리(Weighted Support-Tree)를 생성하는 단계;
    데이터베이스를 상기 가중화 빈도수 트리에 적용하는 단계;
    상기 가중화 빈도수 트리에서 필요없는 아이템을 제거하는 단계;
    상기 가중화 빈도수 트리에 패턴 성장기법을 적용하는 단계를 포함하여 진행되는 것을 특징으로 하는 상위 K개의 중요 패턴들을 마이닝 하는 방법.
  2. 제1항에 있어서,
    상기 가중화 빈도수 트리는 압축된 형태의 트리 구조로서, 루트로부터 각 노드들은 가중화된 빈도수가 커지는 형태로 구성되고, 상기 트리 구조 옆에는 트랜잭션 안에 있는 아이템들의 빈도수 및 가중치와, 상기 트리에서 같은 아이템을 가지는 노드들을 포인팅하는 링크들로 구성된 헤더 테이블이 구비되어 있는 것을 특징으로 하는 상위 K개의 중요 패턴들을 마이닝 하는 방법.
  3. 제1항에 있어서,
    상기 가중화 빈도수 트리를 생성하는 방법은,
    상기 데이터베이스에서 트랜잭션 데이터베이스를 스캔하여 읽는 단계;
    상기 트랜잭션 데이터베이스에서 각 트랜잭션 내에 있는 아이템들을 가중화 빈도수 순서의 오름차순이나 내림차순으로 정렬하는 단계;
    상기 트랜잭션 내의 정렬된 아이템들은 순차적으로 전역 가중화 빈도수 트리에 트리의 루트부터 대응되는 노드로의 경로를 따라서 삽입하는 단계;
    상기 삽입된 아이템이 기존 노드 아이템인지 판별하는 단계;
    상기 판별결과, 기존 노드 아이템이 아니면 그 노드안의 아이템의 빈도수가 계산되어 새로운 노드를 생성하고, 상기 판별결과 상기 WS-트리에서 기존의 노드 아이템이 이용된 것이면 그 노드 안에서 아이템의 빈도수를 1씩 증대시키는 단계;
    상기 새로운 노드 생성과 상기 노드의 빈도수를 1씩 증대시킨 후에는 상기 각각의 트리삽입 단계로 진입하여 반복적으로 상기의 처리과정들을 수행하는 단계를 포함하는 것을 특징으로 하는 상위 K개의 중요 패턴들을 마이닝 하는 방법.
  4. 제1항에 있어서,
    상기 데이터베이스를 상기 가중화 빈도수 트리에 적용하는 방법은,
    상기 아이템의 가중화 빈도수가 러프-컷오프(Rough-cutoff) 보다 작은 아이템을 제거하는 단계,
    상기 트랜잭션을 상기 가중화 빈도수 오름차순과 내림차순으로 정렬하여 상기 가중화 빈도수 트리에 루트로부터 대응되는 노드로의 경로에 따라서 삽입하는 단계를 통하여 진행하는 것을 특징으로 하는 상위 K개의 중요 패턴들을 마이닝 하는 방법.
  5. 제1항에 있어서,
    상기 가중화 빈도수 트리에서 필요없는 아이템을 제거하는 방법은,
    상기 러프-컷오프(Rough-cutoff) 방식을 이용하여 상기 상위 K개의 중요 패턴을 마이닝할 때 상기 데이터베이스의 필요없는 아이템을 제거하고,
    터프-컷오프(Tough-cutoff) 방식을 이용하여 로컬 트리를 생성할 때 필요없는 아이템 즉, 최대 가중화 빈도수가 상기 터프-컷오프보다 작은 패턴들을 모두 제거하는 방법을 사용하는 것을 특징으로 하는 상위 K개의 중요 패턴들을 마이닝 하는 방법.
  6. 제5항에 있어서,
    상기 가중화 빈도수 트리에서 상기 러프-컷오프 방식을 이용하여 필요없는 아이템을 제거하는 방법은,
    상기 데이터베이스에서 트랜잭션 데이터베이스를 스캔하여 읽는 단계;
    상기 데이터베이스 내의 각 트랜잭션 내에 있는 아이템들을 가중화 빈도수 오름차순인 경우 가중화 빈도수가 커지는 순으로 정렬하고, 빈도수 내림차순인 경우 가중화 빈도수가 작아지는 순으로 정렬하는 단계;
    상기 러프-컷오프(rough-cutoff)를 계산하는 단계;
    상기 러프-컷오프(Rough-cutoff) 조건을 통과한 아이템들만을 전역 또는 지역 가중화 빈도수 트리에 삽입하는 단계를 특징으로 하는 상위 K개의 중요 패턴들을 마이닝 하는 방법.
  7. 제1항에 있어서,
    상기 가중화 빈도수 트리에서 패턴 성장기법을 적용하는 방법은,
    상기 가중화 빈도수 트리의 형태가 싱글 패스(path)인지 판별하는 단계,
    상기 판별결과, 상기 트리가 싱글 패스이면, 경로의 아이템의 집합을 모두 만들어 상기 터프-컷오프(Tough-cutoff)보다 큰 아이템을 상위 K개의 아이템에 추가하는 단계,
    상기 판별결과, 상기 트리가 싱글 패스가 아니면, 상기 트리의 리프노드(가중화 빈도수가 가장 큰 아이템을 가진 노드)부터 루트방향으로 순회(traversal)를 하는 단계,
    상기 헤더 테이블에서 선택된 아이템의 링크 노드를 따라 연결된 노드에서 상기 트리의 루트까지 상향식으로 탐색을 하거나 상기 연결된 노드에서 상기 트리의 리프까지 BFS(Breadth First Search)방식과 DFS(Depth First Search) 방식을 이용하여 하향식으로 탐색하는 단계,
    상기 탐색된 경로의 아이템들을 하나의 조건적 트랜잭션으로 만들어서, 가장 작은 초기 상기 터프-컷오프(Tough-cutoff)보다 작은 아이템을 조건적 트랜잭션에서 제거하는 단계,
    상기 터프-컷오프 방식으로 최적화된 조건적 데이터베이스를 구축한 후, 구축된 상기 조건적 데이터베이스를 스캔하여 로컬 가중화 빈도수 트리를 생성하는 단계,
    상기 생성된 로컬 가중화 빈도수 트리를 상기 패턴 성장기법을 이용하여 반복적으로 진행하는 단계를 특징으로 하는 상위 K개의 중요 패턴들을 마이닝 하는 방법.
  8. 제7항에 있어서,
    상기 가중화 빈도수 트리를 상기 BFS(Breadth First Search)방식과 상기 DFS(Depth First Search) 방식을 이용하여 하향식으로 탐색하는 단계는,
    함수의 재귀 호출을 이용하여 진행하며, 상기 BFS방식은 상기 트리의 형제 노드를 먼저 호출하는 방식으로 탐색하고, 상기 DFS방식은 상기 트리의 자식 노드를 먼저 호출하는 방식으로 탐색하는 것을 특징으로 하는 상위 K개의 중요 패턴들을 마이닝 하는 방법.
  9. 제7항에 있어서,
    상기 가중화 빈도수 트리를 상기 BFS(Breadth First Search)방식과 상기 DFS(Depth First Search) 방식을 이용하여 하향식으로 탐색하는 단계는,
    상기 함수의 반복자를 이용하며, 상기 BFS방식은 큐를 이용하여 자식 노드의 주소를 저장하여 사용하고, 상기 DFS방식은 스택을 이용하는데, 상기 스택에는 상기 자식 노드의 주소가 하나씩 삽입되고 현재까지 탐색된 노드의 아이템이 기록되어 있는 것을 특징으로 하는 상위 K개의 중요 패턴들을 마이닝 하는 방법.
  10. 제7항 내지 제9항의 어느 한 항에 있어서,
    상기 조건적 데이터베이스의 구축은,
    상기 리프 노드에 도달하거나 상기 자식 노드의 빈도수 합이 현재 노드의 빈도수 합보다 작으면 하나의 경로로 인식하여 구축되는 것을 특징으로 하는 상위 K개의 중요 패턴들을 마이닝 하는 방법.
KR1020100110783A 2010-11-09 2010-11-09 상위 k개의 중요 패턴들을 마이닝 하는 방법 KR101275834B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100110783A KR101275834B1 (ko) 2010-11-09 2010-11-09 상위 k개의 중요 패턴들을 마이닝 하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100110783A KR101275834B1 (ko) 2010-11-09 2010-11-09 상위 k개의 중요 패턴들을 마이닝 하는 방법

Publications (2)

Publication Number Publication Date
KR20120049505A true KR20120049505A (ko) 2012-05-17
KR101275834B1 KR101275834B1 (ko) 2013-06-18

Family

ID=46267275

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100110783A KR101275834B1 (ko) 2010-11-09 2010-11-09 상위 k개의 중요 패턴들을 마이닝 하는 방법

Country Status (1)

Country Link
KR (1) KR101275834B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170133692A (ko) * 2016-05-26 2017-12-06 아주대학교산학협력단 의료 기록 문서에서의 의료 단어의 연관 규칙 생성 방법 및 그 장치

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101594346B1 (ko) 2014-04-17 2016-02-16 세종대학교 산학협력단 빈발 패턴 마이닝 방법 및 이를 저장하는 기록매체
KR101594345B1 (ko) * 2014-04-17 2016-02-16 세종대학교 산학협력단 빈발 패턴 마이닝 방법 및 이를 저장하는 기록매체
KR101649884B1 (ko) * 2014-12-02 2016-08-22 세종대학교 산학협력단 스트림 환경의 감쇄 윈도우 및 근접 프루닝 기반 최신 빈발 패턴 유지 방법, 이를 수행하는 최신 빈발 패턴 유지 서버 및 이를 저장하는 기록매체
KR101761175B1 (ko) 2015-04-14 2017-07-25 세종대학교산학협력단 빈발 패턴 마이닝 방법, 빈발 패턴 마이닝 서버 및 이를 수행하는 프로그램을 기록하는 기록매체
KR101824928B1 (ko) * 2016-07-12 2018-02-02 세종대학교 산학협력단 다양한 아이템 중요도를 가지는 불확실 데이터로부터 빈발한 아이템셋을 마이닝하기 위한 방법 및 이를 수행하는 불확실 가중화 빈발 아이템 마이닝 장치

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100650151B1 (ko) * 2004-07-22 2006-11-27 이원석 문서의 스타일 기반으로 추출한 키워드의 마이닝을 통해 생성된 프로파일을 이용한 웹 검색방법
KR100896528B1 (ko) * 2007-08-20 2009-05-08 연세대학교 산학협력단 데이터 스트림으로부터 연관규칙을 생성하는 방법 및데이터 마이닝 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170133692A (ko) * 2016-05-26 2017-12-06 아주대학교산학협력단 의료 기록 문서에서의 의료 단어의 연관 규칙 생성 방법 및 그 장치

Also Published As

Publication number Publication date
KR101275834B1 (ko) 2013-06-18

Similar Documents

Publication Publication Date Title
Nguyen et al. An efficient method for mining high utility closed itemsets
JP5092165B2 (ja) データ構築方法とシステム
US7685141B2 (en) Connection sub-graphs in entity relationship graphs
Yun et al. Incremental mining of weighted maximal frequent itemsets from dynamic databases
KR101275834B1 (ko) 상위 k개의 중요 패턴들을 마이닝 하는 방법
Yun et al. Mining maximal frequent patterns by considering weight conditions over data streams
Cruz et al. Entropy based community detection in augmented social networks
Yagoubi et al. Dpisax: Massively distributed partitioned isax
US8762393B2 (en) Method and system of clustering for multi-dimensional data streams
Luna et al. Efficient mining of top-k high utility itemsets through genetic algorithms
Lakshmi et al. An efficient algorithm for density based subspace clustering with dynamic parameter setting
KR101376444B1 (ko) 데이터 스트림에서 가중치를 고려하여 하향식으로 트리를 탐색하는 패턴 마이닝 방법
Balaji et al. Improved classification based association rule mining
Jamil et al. Performance evaluation of top-k sequential mining methods on synthetic and real datasets
Vijayarani et al. Frequent items mining on data streams using matrix and scan reduced indexing algorithms
KR20120136677A (ko) 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 추출 방법 및 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 데이터베이스 트리 구조
CN112765469B (zh) 一种从Web点击流数据中挖掘代表序列模式的方法
Bhadoria et al. Analysis on probabilistic and binary datasets through frequent itemset mining
Vani Comparative analysis of association rule mining algorithms based on performance survey
KR101869329B1 (ko) 소셜 데이터베이스의 공간 빈발 단어집합에 대한 데이터 마이닝 방법
Kim et al. Efficient method for mining high utility occupancy patterns based on indexed list structure
Kumar et al. ARSkNN-A k-NN classifier using mass based similarity measure
Yang et al. Subsequence search considering duration and relations of events in time interval-based events sequences
Yahia et al. K-nearest neighbor and C4. 5 algorithms as data mining methods: advantages and difficulties
Tai et al. An efficient algorithm for discovering maximum length frequent itemsets

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160613

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee