맨위로가기

연관 규칙 학습

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

연관 규칙 학습은 데이터에서 빈번하게 발생하는 'if-then' 패턴을 찾아내는 데이터 마이닝 기법이다. 항목 집합 간의 연관성을 분석하며, 지지도와 신뢰도 등의 기준을 통해 중요한 관계를 정의한다. Apriori, Eclat, FP-Growth 등의 알고리즘을 사용하여 데이터베이스에서 빈번한 항목 집합을 찾고, 최소 지지도와 신뢰도 임계값을 적용하여 규칙을 생성한다. 연관 규칙은 고객 행동 분석, 질병 유전자 탐색 등 다양한 분야에 활용되지만, 허위 연관성을 발견할 위험과 알고리즘 매개변수 설정의 어려움 등의 단점도 존재한다.

더 읽어볼만한 페이지

  • 데이터 마이닝 - 클러스터 분석
    클러스터 분석은 유사한 특성을 가진 데이터 객체들을 그룹으로 묶는 기계 학습 기법으로, 다양한 알고리즘과 모델을 기반으로 하며 여러 분야에서 활용되고 클러스터링 결과는 다양한 방식으로 평가된다.
  • 데이터 마이닝 - 이상 탐지
    이상 탐지는 일반적인 관측치와 다른 이상치를 식별하여 침입 탐지, 사기 탐지 등에 활용되며, 통계적 방법, 밀도 기반 방법 등 다양한 방법이 존재하고 성능 평가를 위한 공개 데이터 세트가 사용된다.
  • 데이터 관리 - 데이터 센터
    데이터센터는 컴퓨터 시스템 및 관련 장비와 지원 인프라를 수용하는 시설로, 기술 발전에 따라 규모와 중요성이 확대되었으며, 에너지 효율과 보안을 고려하여 설계 및 운영되고, TIA-942 표준에 따른 티어 분류와 친환경 기술 도입이 이루어지고 있다.
  • 데이터 관리 - 정보 아키텍처
    정보 아키텍처는 정보 시스템 및 정보 기술 분야에서 공유 정보 환경의 구조적 설계를 의미하며, 웹사이트, 소프트웨어 등의 구성과 레이블링을 포함하여 검색 용이성과 사용성을 지원하고, 도서관정보학에 기원을 두고 있다.
연관 규칙 학습
개요
분야데이터 마이닝
설명데이터베이스에서 변수 간의 흥미로운 관계를 발견하는 방법

2. 정의

데이터 집합 X와 Y 항목 집합 간의 연관성을 보여주는 벤 다이어그램. X 항목을 포함하는 모든 트랜잭션은 원의 흰색 왼쪽 부분에 위치하고, Y를 포함하는 트랜잭션은 빨간색으로 오른쪽 부분에 위치한다. X와 Y를 모두 포함하는 트랜잭션은 가운데에 위치하며 분홍색으로 칠해져 있다. 이 그래프에서 여러 개념을 사용하여 정보를 묘사할 수 있다. 예를 들어, 분홍색 섹션의 모든 트랜잭션을 가져와 총 트랜잭션 수(X(흰색)를 포함하는 트랜잭션 + Y(빨간색)를 포함하는 트랜잭션)로 나누면 지지도(support)라고 한다. 신뢰도(confidence)라고 하는 방법의 결과를 얻는 예로, 가운데(분홍색)의 모든 트랜잭션을 Y(빨간색과 분홍색)를 포함하는 모든 트랜잭션으로 나눌 수 있다. 이 경우 Y는 전건이고 X는 후건이다.


Agrawal, Imieliński, Swami[2]의 원래 정의에 따르면, 연관 규칙 학습 문제는 다음과 같이 정의된다.

I=\{i_1, i_2,\ldots,i_n\}항목(item)이라고 하는 n개의 이진 속성 집합이라고 하자.

D = \{t_1, t_2, \ldots, t_m\}데이터베이스(database)라고 하는 트랜잭션(transaction) 집합이라고 하자.

D의 각 트랜잭션에는 고유한 트랜잭션 ID가 있으며 I의 항목의 부분집합을 포함한다.
규칙(rule)은 다음과 같은 형식의 함축으로 정의된다.

:X \Rightarrow Y, 여기서 X, Y \subseteq I 이다.

Agrawal, Imieliński, Swami[2]에서 규칙집합과 단일 항목, 즉 X \Rightarrow i_j for i_j \in I 사이에서만 정의되었다.

모든 규칙은 서로 다른 두 개의 항목 집합, 즉 항목 집합 X와 Y로 구성된다. 여기서 X는 전건(antecedent) 또는 왼쪽(LHS, Left-Hand Side)이라고 하고 Y는 후건(consequent) 또는 오른쪽(RHS, Right-Hand Side)이라고 한다. 전건은 데이터에서 찾을 수 있는 항목이고, 후건은 전건과 결합될 때 발견되는 항목이다. 명제 X \Rightarrow Y는 종종 "만약 X이면 Y이다"로 읽으며, 여기서 전건(X)은 '만약'이고 후건(Y)은 '그렇다면'이다. 이것은 이론적으로, 데이터 집합에 X가 나타날 때마다 Y도 나타난다는 것을 의미한다.

3. 프로세스

연관 규칙 학습은 대규모 데이터 집합에서 흥미로운 관계를 발견하는 과정이다. 이 과정은 주로 두 단계로 나눌 수 있다.

첫 번째 단계는 데이터 내에서 빈번하게 발생하는 항목들의 집합(frequent itemsets)을 찾는 것이다. 어떤 항목들이 자주 함께 나타나는지를 파악하는 과정으로, 이때 '지지도(support)'라는 기준을 사용하여 일정 빈도 이상으로 나타나는 항목 집합만을 선별한다.[4] 너무 드물게 발생하는 항목 조합은 일반적으로 의미 있는 규칙을 만들기 어렵기 때문에 이 단계에서 걸러낸다.

두 번째 단계는 첫 번째 단계에서 찾아낸 빈번한 항목 집합들을 이용하여 실제 연관 규칙(association rules)을 생성하는 것이다. 이는 '만약 A가 발생하면 B도 발생한다' (If A, then B) 형태의 규칙을 만드는 과정이다. 생성된 규칙들은 '신뢰도(confidence)'와 같은 추가적인 기준을 통해 그 유효성과 중요성을 평가받는다.[4] 예를 들어, 신뢰도는 A가 발생했을 때 실제로 B도 함께 발생할 확률이 얼마나 되는지를 측정한다.

이러한 과정을 통해 데이터 속에 숨겨진 유용한 패턴과 규칙을 찾아내며, 이는 주로 고객 행동 분석이나 시장 바구니 분석 등 다양한 분야에서 활용된다. 모든 가능한 조합을 분석하는 것은 비효율적이므로, 연관 규칙 학습은 일반적으로 데이터 내에서 충분히 의미 있는 패턴만을 효율적으로 찾아내는 데 초점을 맞춘다.[4]

3. 1. 규칙 평가 및 해석

연관 규칙은 데이터에서 빈번하게 나타나는 '만약 A라면 B이다(if-then)' 형태의 패턴을 찾는 과정에서 만들어진다. 이때 규칙의 중요성을 판단하기 위해 '''지지도(support)'''와 '''신뢰도(confidence)'''라는 기준을 사용한다. 지지도는 특정 항목(또는 항목 집합)이 전체 데이터에서 얼마나 자주 등장하는지를 나타내는 척도이고, 신뢰도는 '만약 A라면 B이다'라는 규칙이 실제로 얼마나 자주 참인지를 나타낸다.[4]

이 두 가지 기준 외에 '''리프트(lift)'''라는 세 번째 기준도 사용될 수 있다. 리프트는 규칙의 신뢰도가 단순히 우연에 의해 발생할 확률보다 얼마나 높은지를 측정하는 지표로, 예상된 신뢰도와 실제 신뢰도를 비교하여 규칙의 유의미성을 평가하는 데 도움을 준다.[4]

연관 규칙은 보통 두 개 이상의 항목으로 구성된 항목 집합에서 계산된다. 만약 데이터에 존재하는 모든 가능한 항목 조합에 대해 규칙을 만들려고 하면 너무 많은 규칙이 생성되어 분석이 어려워질 수 있다. 따라서 일반적으로는 데이터 내에서 충분히 자주 나타나고 의미 있는 관계를 보여주는 규칙들만을 대상으로 한다.[4]

연관 규칙을 사용할 때는 주로 지지도와 신뢰도 기준을 함께 적용한다. 즉, 사용자가 설정한 최소 지지도와 최소 신뢰도 기준을 동시에 만족하는 규칙만을 유효한 것으로 간주한다. 이 과정은 보통 두 단계로 나뉜다.

# 데이터베이스에서 최소 지지도 기준을 만족하는 모든 '''빈번한 항목 집합(frequent itemsets)'''을 찾는다.

# 찾아낸 빈번한 항목 집합들을 이용하여 최소 신뢰도 기준을 만족하는 규칙들을 생성한다.



표 1. 지지도와 신뢰도에 대한 '''임계값''' 적용 예시
항목지지도신뢰도항목 (임계값 적용 후 정렬)지지도신뢰도
항목 A30%50%항목 C45%55%
항목 B15%25%항목 A30%50%
항목 C45%55%항목 D35%40%
항목 D35%40%항목 B15%25%



'''만약 최소 지지도를 30%, 최소 신뢰도를 50%로 설정했다고 가정해보자.'''

'''왼쪽 표는 원래 데이터이고, 오른쪽 표는 설정된 임계값에 따라 정렬된 결과이다. 이 경우, 항목 C는 지지도(45%)와 신뢰도(55%) 모두 임계값을 넘으므로 가장 우선순위가 높다. 항목 A는 지지도(30%)와 신뢰도(50%)가 정확히 임계값과 같으므로 두 번째이다. 항목 D는 지지도(35%)는 만족하지만 신뢰도(40%)가 미달이다. 항목 B는 지지도(15%)와 신뢰도(25%) 모두 임계값에 미치지 못하므로 가장 순위가 낮다.'''

데이터베이스에서 모든 빈번한 항목 집합을 찾는 것은 계산량이 많은 작업이다. 가능한 모든 항목 조합의 수는 전체 항목 집합 I에 대한 멱집합의 크기와 관련되며, 항목의 개수 n이 늘어남에 따라 2n-1로 기하급수적으로 증가하기 때문이다. (여기서 빈 집합은 제외한다.)[4]

다행히 '''하향 폐쇄 속성(downward closure property)''' 또는 '''반단조성(anti-monotonicity)'''이라 불리는 지지도의 특성을 이용하면 탐색 과정을 효율화할 수 있다.[2][8][9] 이 속성은 어떤 항목 집합이 빈번하다면, 그 항목 집합의 모든 부분집합 역시 반드시 빈번하다는 것을 의미한다. 반대로, 어떤 항목 집합이 빈번하지 않다면(드물다면), 그 항목 집합을 포함하는 더 큰 항목 집합 역시 절대로 빈번할 수 없다. 이 원리를 활용하여 Apriori[10]나 Eclat[11]과 같은 효율적인 알고리즘들이 개발되었으며, 이를 통해 모든 빈번한 항목 집합을 효과적으로 찾아낼 수 있다.

'''장점'''

연관 규칙 학습은 데이터 집합들 사이의 숨겨진 상관관계나 동시에 발생하는 패턴을 발견하는 데 유용하다. 예를 들어, 의학 분야에서는 환자 진단에 연관 규칙을 활용할 수 있다. 많은 질병들이 유사한 증상을 보이기 때문에 진단 시 고려해야 할 변수가 많다. 연관 규칙을 이용하면 과거 환자들의 증상 데이터를 분석하여 특정 증상 조합과 질병 발생 간의 조건부 확률을 계산함으로써 의사의 진단을 도울 수 있다.[6]

'''단점'''

하지만 연관 규칙 학습에는 몇 가지 단점도 존재한다. 적절한 최소 지지도나 최소 신뢰도 같은 매개변수 임계값을 설정하는 것이 어려울 수 있다. 또한, 알고리즘을 통해 너무 많은 규칙이 발견될 경우, 이 규칙들이 실제로 유의미하거나 관련성이 있는지 판단하기 어렵고, 오히려 분석 성능을 저하시킬 수도 있다. 때로는 알고리즘 자체가 너무 많은 변수와 매개변수를 요구하여 데이터 마이닝에 익숙하지 않은 사용자에게는 이해하고 활용하기 어려울 수 있다.[7]

4. 유용한 개념

연관 규칙 학습은 데이터 마이닝의 한 방법으로, 대규모 데이터베이스에서 항목들 간의 흥미로운 관계를 발견하는 것을 목표로 한다. Agrawal, Imieliński, Swami[2]는 연관 규칙 학습 문제를 다음과 같이 정의했다.

먼저, 항목들의 집합을 I = {i1, i2, ..., in}으로 정의하며, 여기서 각 i는 '항목(item)'이라 불리는 이진 속성이다. 그리고 트랜잭션들의 집합을 D = {t1, t2, ..., tm}으로 정의하며, 이를 '데이터베이스'라고 한다. 각 '트랜잭션(transaction)' t는 고유한 ID를 가지며, 항목 집합 I의 부분 집합을 포함한다.

'규칙(rule)'은 "X ⇒ Y" 형태로 표현되는 함축 관계를 의미한다. 여기서 X와 Y는 모두 항목 집합 I의 부분 집합이며(X, Y ⊆ I), 서로소 관계(X ∩ Y = ∅)이다.[2] 규칙 "X ⇒ Y"에서 X는 '전건(antecedent)' 또는 좌변(LHS, Left-Hand Side)이라 하고, Y는 '후건(consequent)' 또는 우변(RHS, Right-Hand Side)이라고 한다. 이는 "만약 X가 발생하면(if X), Y도 발생한다(then Y)"는 의미로 해석될 수 있다. 즉, 데이터베이스에서 X를 포함하는 트랜잭션은 Y도 포함하는 경향이 있다는 것을 나타낸다.

연관 규칙은 데이터에서 빈번하게 나타나는 'if-then' 패턴을 찾는 과정이며, 찾아낸 규칙들 중에서 의미 있는 관계를 식별하기 위해 여러 척도를 사용한다. 가장 대표적인 척도로는 지지도(Support), 신뢰도(Confidence), 리프트(Lift)가 있다. 이 척도들은 규칙의 발생 빈도, 조건부 확률, 항목 간의 상호 의존성 등을 측정하는 데 사용된다.


  • 지지도: 특정 항목 조합이 전체 거래에서 얼마나 자주 나타나는지를 나타낸다.
  • 신뢰도: 특정 항목(전건)을 구매했을 때 다른 항목(후건)을 함께 구매할 조건부 확률을 나타낸다.
  • 리프트: 두 항목이 우연히 함께 발생하는 것 이상으로 얼마나 강하게 연관되어 있는지를 측정한다.


데이터베이스에서 가능한 모든 항목 조합에 대한 규칙을 생성하면 너무 많은 규칙이 만들어져 분석이 어려워질 수 있다. 따라서 연관 규칙 학습에서는 일반적으로 최소 지지도와 최소 신뢰도 같은 임계값(Threshold)을 설정하여, 이 기준을 만족하는 '흥미로운(interesting)' 규칙만을 선별한다.

연관 규칙 학습은 다양한 데이터 마이닝 기법 중 하나로, 주로 고객의 구매 패턴 분석이나 행동 예측 등에 활용된다. 다른 기법들과 비교하면 다음과 같은 특징이 있다.

  • 분류 분석(Classification Analysis): 데이터를 미리 정의된 범주로 나누는 데 사용된다.[5]
  • 클러스터링 분석(Clustering Analysis): 데이터 내 숨겨진 그룹이나 패턴을 사전 정보 없이 찾아내는 데 사용된다.[5]
  • 회귀 분석(Regression Analysis): 독립 변수들을 이용하여 연속적인 종속 변수의 값을 예측하는 데 사용된다.[5]


연관 규칙 학습은 데이터 항목 간의 숨겨진 연관성을 발견하여 유용한 통찰력을 제공한다는 장점이 있다. 예를 들어, 의료 분야에서는 특정 증상들의 조합과 질병 간의 연관 규칙을 분석하여 진단에 도움을 줄 수 있다.[6]

하지만 단점도 존재한다. 적절한 최소 지지도 및 신뢰도 임계값을 설정하는 것이 어려울 수 있으며, 너무 많은 규칙이 생성되어 의미 있는 규칙을 찾기 어렵거나 알고리즘 성능이 저하될 수 있다. 또한, 발견된 규칙이 반드시 인과관계를 의미하는 것은 아니며, 때로는 우연한 상관관계일 수도 있다.[7]

4. 1. 지지도(Support)



지지도(Support)는 특정 항목 집합(Itemset)이 전체 트랜잭션(Transaction) 데이터베이스(Database)에서 얼마나 자주 나타나는지를 나타내는 척도이다.[12] 즉, 해당 항목 집합을 포함하는 트랜잭션의 비율을 의미한다.

예를 들어, 항목 집합 A와 B가 함께 나타나는 경우의 지지도는 다음과 같이 계산할 수 있다.

: 지지도(A ∩ B) = P(A ∩ B) = (A와 B를 모두 포함하는 거래 수) / (총 거래 수)[12]

아래 표 2는 5개의 거래와 7개의 품목을 가진 가상의 슈퍼마켓 데이터베이스 예시이다. 각 셀의 값 1은 해당 거래에 품목이 포함되었음을, 0은 포함되지 않았음을 나타낸다. 이 데이터베이스의 전체 항목 집합 I는 {우유, 빵, 버터, 맥주, 기저귀, 달걀, 과일}이다.

표 2. 5개 거래와 7개 품목 예시 데이터베이스
거래 ID우유버터맥주기저귀달걀과일
11100001
20010011
30001100
41110011
50100000



이 표 2를 예로 들어 지지도를 계산해보자.


  • 항목 집합 X = {맥주, 기저귀}는 거래 3에서 나타나므로, 총 5개의 거래 중 1개에 해당한다. 따라서 지지도는 1/5 = 0.2 (20%)이다.
  • 항목 집합 Y = {우유, 빵, 버터}는 거래 4에서 나타나므로, 지지도는 1/5 = 0.2 (20%)이다.
  • 규칙 {우유} ⇒ {빵} (우유를 사면 빵도 산다)의 경우, 우유와 빵을 모두 포함하는 거래는 거래 1과 거래 4로 총 2건이다. 따라서 이 규칙의 지지도는 2/5 = 0.4 (40%)이다.


데이터 분석에서는 모든 항목 집합을 고려하기보다 의미 있는 규칙을 찾기 위해 최소 지지도 임계값(Minimum Support Threshold)을 설정한다. 이 임계값보다 낮은 지지도를 갖는 항목 집합은 분석에서 제외된다. 이는 너무 드물게 발생하는 패턴을 걸러내고 통계적으로 유의미하거나 흥미로운 규칙에 집중하는 데 도움을 준다.

예를 들어, 아래 표 3은 몇 가지 규칙과 그 지지도를 보여준다. 만약 최소 지지도 임계값을 0.4로 설정한다면, 지지도가 0.2인 {우유} ⇒ {달걀} 규칙은 임계값을 만족하지 못하므로 중요하지 않은 규칙으로 간주되어 제외될 수 있다.

표 3. 지지도 및 지지도 × 신뢰도 예시
전항인 경우 후항지지지지 × 신뢰도
우유를 구매하면 빵을 구매2/5= 0.40.4 × 1.0= 0.4
우유를 구매하면 달걀을 구매1/5= 0.20.2 × 0.5= 0.1
빵을 구매하면 과일을 구매2/5= 0.40.4 × 0.66= 0.264
과일을 구매하면 달걀을 구매2/5= 0.40.4 × 0.66= 0.264
우유와 빵을 구매하면 과일을 구매2/5= 0.40.4 × 1.0= 0.4



지지도는 항목 집합 X를 포함하는 트랜잭션의 비율로 공식적으로 정의할 수 있다. 데이터베이스 T의 각 트랜잭션을 고유 식별자 i와 해당 항목 집합 t의 쌍 (i,t)로 나타낼 때, 항목 집합 X의 지지도는 다음과 같이 표현된다.

: 지지(X) = |{ (i,t) ∈ T : X ⊆ t }| / |T|

데이터베이스에서 빈번한 항목 집합(즉, 최소 지지도 임계값 이상인 항목 집합)을 찾는 것은 계산적으로 복잡할 수 있다. 가능한 모든 항목 집합의 수는 항목(n)의 수에 따라 2n-1로 기하급수적으로 증가하기 때문이다. 그러나 하향 폐쇄 속성(Downward Closure Property) 또는 반단조성(Anti-monotonicity)이라 불리는 지지도의 중요한 특성을 이용하여 효율적인 탐색이 가능하다.[2][8][9] 이 속성은 어떤 항목 집합이 빈번하다면, 그 항목 집합의 모든 부분 집합(subset) 또한 반드시 빈번하다는 것을 의미한다. 반대로, 어떤 항목 집합이 빈번하지 않다면(즉, 지지도가 임계값 미만이라면), 그 항목 집합을 포함하는 더 큰 항목 집합(superset) 역시 빈번할 수 없다. 이 속성을 활용하는 대표적인 알고리즘으로는 Apriori[10]와 Eclat[11] 등이 있으며, 이를 통해 모든 빈번한 항목 집합을 효율적으로 찾을 수 있다.

지지도는 단순히 상품 구매 패턴 분석 외에도 다양한 분야에서 활용될 수 있다. 예를 들어, 특정 질병 발생과 관련된 유전자 돌연변이 조합을 찾거나, 특정 마케팅 캠페인에 반응하는 고객 그룹을 파악하거나, 약국에서 함께 판매되지 않는 약품 조합을 발견하는 등의 분석에 사용될 수 있다.[12]

4. 2. 신뢰도(Confidence)

신뢰도(Confidence)는 항목 집합 X를 포함하는 트랜잭션 중에서 항목 집합 Y도 포함하는 트랜잭션의 비율을 의미한다.[14] 즉, 규칙의 조건부 확률 P(Y | X)의 추정치로 해석될 수 있는데, 이는 어떤 트랜잭션이 규칙의 전건(LHS, X)을 포함할 때 후건(RHS, Y)도 포함할 확률을 나타낸다.[13][15]

데이터베이스 T에 대한 연관 규칙 X ⇒ Y의 신뢰도는 다음과 같이 정의된다.

:conf(X ⇒ Y) = P(Y | X) = supp(X ∩ Y) / supp(X) = (X와 Y를 포함하는 거래 수) / (X를 포함하는 거래 수)

이 식은 신뢰도가 X와 Y를 모두 포함하는 거래 수를 X를 포함하는 거래 수로 나누어 계산됨을 보여준다.

예를 들어, 아래 표 2의 데이터를 사용하여 규칙 {버터, 빵} ⇒ {우유}의 신뢰도를 계산해 보자. 버터와 빵을 모두 포함하는 거래는 거래 ID 4 하나이며(즉, 5개 거래 중 1개, 지지도 1/5), 이 거래는 우유도 포함한다. 따라서 신뢰도는 supp({버터, 빵, 우유}) / supp({버터, 빵}) = (1/5) / (1/5) = 1.0 이다. 이는 버터와 빵을 구매한 고객은 항상 우유도 함께 구매했음을 의미한다(이 데이터셋에서는 100%의 정확도).

반면, 규칙 {과일} ⇒ {계란}의 신뢰도는 supp({과일, 계란}) / supp({과일}) = (2/5) / (3/5) ≈ 0.67 이다. 이는 과일을 구매한 거래 중 약 67%에서 계란도 함께 구매되었음을 의미한다. (과일은 총 3번 구매되었고, 그중 2번 계란이 함께 구매되었다.)

표 2. 5개의 거래와 7개의 품목을 가진 예시 데이터베이스
거래 ID우유버터맥주기저귀달걀과일
11100001
20010011
30001100
41110011
50100000



실제 대규모 데이터셋에서는 최소 신뢰도 임계값을 설정하여 의미 있는 규칙만을 선별하는 데 활용할 수 있다. 예를 들어 최소 신뢰도를 0.5(50%)로 설정하면, 이 기준을 만족하지 못하는 규칙들은 분석에서 제외된다. 아래 표 4는 표 2의 데이터를 기반으로 신뢰도 0.5 이상인 규칙들을 보여준다.

또한, 규칙의 중요도를 평가하기 위해 지지도와 신뢰도를 함께 고려하는 'Support × Confidence' 지표를 사용하기도 한다. 이 지표는 지지도가 낮더라도 신뢰도가 높은 규칙이나, 반대로 신뢰도는 다소 낮지만 지지도가 높은 규칙 등을 종합적으로 판단하는 데 도움을 줄 수 있다. 표 4는 Support × Confidence 값을 기준으로 규칙들을 정렬한 예시이다.

표 4. 신뢰도 및 Support × Confidence의 예 (최소 신뢰도 0.5 기준)
if 전건 then 후건신뢰도Support × Confidence
if 우유를 사면 빵을 산다2/2 = 1.00.4×1.0= 0.4
if 우유와 빵을 사면 과일을 산다2/2 = 1.00.4×1.0= 0.4
if 빵을 사면 과일을 산다2/3 ≈ 0.670.4×0.67 ≈ 0.268
if 과일을 사면 계란을 산다2/3 ≈ 0.670.4×0.67 ≈ 0.268
if 우유를 사면 계란을 산다1/2 = 0.50.2×0.5= 0.1



신뢰도는 특정 규칙 내에서 항목 간의 연관성을 명확하게 보여주는 장점이 있다. 즉, 전건이 주어졌을 때 후건이 나타날 확률을 직접적으로 제시하여 관계의 강도를 파악하기 용이하다.

그러나 신뢰도만으로는 전체 데이터셋 관점에서 규칙의 중요성을 판단하기 어렵다는 단점이 있다. 예를 들어, {버터, 빵} ⇒ {우유} 규칙의 신뢰도는 1.0(100%)이지만, 이 규칙의 지지도는 0.2(20%)에 불과하다. 이는 버터와 빵을 동시에 구매하는 경우가 전체 거래에서 드물다는 것을 의미한다. 따라서 연관 규칙의 의미를 정확히 파악하기 위해서는 신뢰도뿐만 아니라 지지도와 같은 다른 측정 지표들을 함께 고려하는 것이 중요하다. Support × Confidence와 같은 결합 지표를 활용하는 것도 좋은 대안이 될 수 있다.

4. 3. 향상도(Lift)

규칙의 ''리프트''(Lift)는 전건과 후건 사이 연관성의 강도를 측정하는 지표로, 다음과 같이 정의된다.

\mathrm{lift}(X\Rightarrow Y) = \frac{ \mathrm{supp}(X \cup Y)}{ \mathrm{supp}(X) \times \mathrm{supp}(Y) }

이는 항목 집합 X와 Y가 서로 독립이라고 가정했을 때의 예상 지지도 대비, 실제 데이터에서 관측된 지지도의 비율을 나타낸다. 즉, 규칙 X \Rightarrow Y의 신뢰도(\mathrm{conf}(X \Rightarrow Y) = \frac{\mathrm{supp}(X \cup Y)}{\mathrm{supp}(X)})를 후건 Y의 지지도(\mathrm{supp}(Y))로 나눈 값과 같다: \mathrm{lift}(X\Rightarrow Y) = \frac{\mathrm{conf}(X \Rightarrow Y)}{\mathrm{supp}(Y)}.

예를 들어, 표 2의 예시 데이터베이스에서 규칙 \{\mathrm{우유, 빵}\} \Rightarrow \{\mathrm{버터}\}의 리프트는 다음과 같이 계산할 수 있다. 전체 거래 수는 5이다.

  • \mathrm{supp}(X \cup Y) = \mathrm{supp}(\{\text{우유, 빵, 버터}\})는 우유, 빵, 버터를 모두 포함하는 거래의 비율이다. 표 2에서 거래 4만이 세 항목을 모두 포함하므로, 지지도는 1/5 = 0.2이다.
  • \mathrm{supp}(X) = \mathrm{supp}(\{\text{우유, 빵}\})는 우유와 빵을 포함하는 거래의 비율이다. 표 2에서 거래 1과 4가 해당하므로, 지지도는 2/5 = 0.4이다.
  • \mathrm{supp}(Y) = \mathrm{supp}(\{\text{버터}\})는 버터를 포함하는 거래의 비율이다. 표 2에서 거래 2와 4가 해당하므로, 지지도는 2/5 = 0.4이다.


따라서, 리프트 값은 \mathrm{lift}(\{\text{우유, 빵}\} \Rightarrow \{\text{버터}\}) = \frac{0.2}{0.4 \times 0.4} = \frac{0.2}{0.16} = 1.25 이다.

리프트 값에 따른 해석은 다음과 같다.

  • '''리프트 = 1''': 전건(X)의 발생과 후건(Y)의 발생이 서로 독립적이다. 즉, X의 구매 여부가 Y의 구매 여부에 영향을 주지 않으므로, 이 규칙은 특별한 연관성을 나타내지 않는다.
  • '''리프트 > 1''': 전건(X)과 후건(Y) 사이에 양의 상관관계가 존재한다. 즉, X를 구매한 고객이 Y도 구매할 확률이 전체 고객 중에서 Y를 구매할 확률보다 높다는 의미이다. 리프트 값이 클수록 연관성이 강하며, 이 규칙은 예측에 유용하게 사용될 수 있다. 예시의 리프트 값 1.25는 우유와 빵을 함께 구매하는 고객이 버터를 구매할 확률이 일반 고객이 버터를 구매할 확률보다 1.25배 높다는 것을 의미한다.
  • '''리프트 < 1''': 전건(X)과 후건(Y) 사이에 음의 상관관계가 존재한다. 즉, X를 구매한 고객이 Y를 구매할 확률이 전체 고객 중에서 Y를 구매할 확률보다 낮다는 의미이다. 이는 두 항목이 서로 대체 관계에 있을 가능성을 시사한다. 예를 들어, 특정 브랜드의 콜라(X)를 구매하는 고객은 경쟁 브랜드의 콜라(Y)를 구매할 확률이 낮을 수 있다.


리프트는 단순히 규칙의 지지도나 신뢰도만 보는 것이 아니라, 전체 데이터 집합에서 각 항목의 발생 빈도(지지도)를 함께 고려하여 연관성의 '의외성' 또는 '흥미도'를 측정한다는 점에서 유용하다.[13]

5. 알고리즘

연관 규칙을 생성하기 위한 많은 알고리즘이 제안되었다.

몇몇 잘 알려진 알고리즘은 Apriori, Eclat 및 FP-Growth가 있다. 하지만 이들은 빈번 항목 집합을 찾아내는 데 중점을 둔 알고리즘으로, 연관 규칙 학습 과정의 전반부에 해당한다. 데이터베이스에서 찾아낸 빈번 항목 집합을 바탕으로 실제 의미 있는 규칙을 만들어내기 위해서는 추가적인 처리 단계가 필요하다.

5. 1. Apriori 알고리즘

Apriori는 1994년 R. 아그라왈(R. Agrawal)과 R. 스리칸트(R. Srikant)가 빈번 항목 집합 마이닝 및 연관 규칙 학습을 위해 제안한 알고리즘이다. 이 알고리즘은 데이터베이스에서 빈번한 개별 항목을 식별하고, 해당 항목 집합이 충분히 자주 나타나는 한 더 크고 더 큰 항목 집합으로 확장하는 방식으로 진행된다. 알고리즘 이름이 Apriori인 이유는 빈번 항목 집합의 속성에 대한 사전 지식을 사용하기 때문이다.

Apriori 알고리즘의 제어 흐름도


'''개요'''

Apriori 알고리즘은 "바텀업(bottom-up)" 방식을 사용한다. 즉, 빈번한 부분 집합을 한 번에 하나의 항목씩 확장하고(이를 '후보 생성'이라고 함) 후보 그룹을 데이터에 대해 테스트한다. 알고리즘은 더 이상 성공적인 확장이 발견되지 않으면 종료된다. Apriori는 너비 우선 탐색과 해시 트리 구조를 사용하여 후보 항목 집합을 효율적으로 계산한다. 이는 길이 ''k-1''의 항목 집합에서 길이 ''k''의 후보 항목 집합을 생성한다. 그런 다음 빈번하지 않은 하위 패턴이 있는 후보를 제거한다. 하향 폐쇄 속성에 따르면, 후보 집합에는 모든 빈번한 ''k''-길이 항목 집합이 포함된다. 그 후 트랜잭션 데이터베이스를 스캔하여 후보 중에서 빈번한 항목 집합을 결정한다.

'''예시'''

각 행이 알파벳 문자로 표시된 특정 돌연변이 조합을 가진 암 샘플이라고 가정해 보자. 예를 들어 한 행은 {a, c}를 가질 수 있으며, 이는 돌연변이 'a'와 돌연변이 'c'의 영향을 받는다는 것을 의미한다.

입력 집합
{a, b}{c, d}{a, d}{a, e}{b, d}{a, b, d}{a, c, d}{a, b, c, d}



이제 각 문자의 발생 횟수를 계산하여 빈번 항목 집합을 생성한다. 이는 지지 값(support value) 찾기라고도 한다. 그런 다음 최소 지지도(minimum support)를 선택하여 항목 집합을 가지치기(pruning)한다. 이 예시에서는 최소 지지도를 3으로 선택한다.

지지 값 (1-항목 집합)
항목지지 값
a6
b4
c3
d6



모든 항목의 지지 값이 3 이상이므로 가지치기되는 항목은 없다. 빈번 1-항목 집합은 {a}, {b}, {c}, {d}이다. 이 후 입력 집합에서 돌연변이 쌍(2-항목 집합)을 계산하여 프로세스를 반복한다.

지지 값 (2-항목 집합)
항목 집합지지 값
{a, b}3
{a, c}2
{a, d}4
{b, c}1
{b, d}3
{c, d}3



이제 {a, c}(지지 값 2)와 {b, c}(지지 값 1)는 최소 지지도 3 미만이므로 제거된다. 빈번 2-항목 집합은 {a, b}, {a, d}, {b, d}, {c, d}이다. 이제 빈번 2-항목 집합을 사용하여 후보 3-항목 집합을 만든다 ({a, b, d}, {a, c, d}). 그런 다음 입력 집합에서 이들 3-항목 집합의 발생 횟수(지지 값)를 계산하여 프로세스를 반복한다.

지지 값 (3-항목 집합)
항목 집합지지 값
{a, b, d}2
{a, c, d}2



모든 후보 3-항목 집합의 지지 값이 최소 지지도 3 미만이므로, 빈번 3-항목 집합은 없다. 더 이상 확장할 빈번 항목 집합이 없으므로 알고리즘은 중지된다.

'''장점 및 제한 사항'''

Apriori에는 몇 가지 제한 사항이 있다. 후보 생성 과정에서 매우 큰 후보 집합이 만들어질 수 있다. 예를 들어 104개의 빈번한 1-항목 집합이 있다면, 천만 개(107개)의 후보 2-항목 집합이 생성될 수 있다. 또한, 알고리즘은 데이터베이스를 자주 스캔해야 하는데, 구체적으로는 가장 긴 빈번 패턴의 길이를 n이라고 할 때 (n+1)번 스캔해야 한다.

Apriori는 Eclat 알고리즘보다 느릴 수 있다. 그러나 데이터 세트가 매우 클 때는 Eclat 알고리즘과 비교하여 성능이 좋을 수 있다. 이는 Eclat 알고리즘의 경우 데이터 세트가 너무 크면 TID 리스트(각 항목 집합이 나타나는 트랜잭션 ID 목록)가 메모리에 비해 너무 커질 수 있기 때문이다. FP-growth 알고리즘은 일반적으로 Apriori와 Eclat보다 성능이 뛰어나다. FP-growth 알고리즘은 후보 생성이나 테스트 과정을 거치지 않고, 데이터를 압축된 트리 구조(FP-트리)로 표현하며, 데이터베이스 스캔을 단 한 번만 수행하기 때문이다.[27]

5. 2. FP-Growth 알고리즘

FP는 빈번 패턴(frequent pattern)을 의미한다.[30]

FP-growth 알고리즘은 두 단계로 진행된다. 첫 번째 단계에서는 전체 거래 데이터에서 각 항목(item)이 얼마나 자주 등장하는지 횟수를 세어 '헤더 테이블'에 저장한다. 두 번째 단계에서는 트라이(Trie) 자료 구조를 이용하여 거래 데이터를 FP-트리(FP-tree)라는 특별한 트리 형태로 만든다.

FP-트리를 효율적으로 만들려면 각 거래에 포함된 항목들을 데이터 집합에서의 빈도 내림차순으로 미리 정렬해야 한다. 만약 어떤 항목이 미리 정해진 최소한의 지지도(minimum support) 기준을 넘지 못하면, 그 항목은 트리 구성 과정에서 제외된다. FP-트리는 많은 거래들이 공통적으로 자주 등장하는 항목들을 공유할 경우, 트리 구조의 위쪽(루트 노드에 가까운 부분)에서 데이터를 효과적으로 압축하는 장점이 있다.

이렇게 압축된 FP-트리를 이용하면, 어프라이어리 알고리즘(Apriori algorithm)처럼 가능한 모든 후보 항목 조합을 만들고 전체 데이터와 비교하는 복잡한 절차를 거치지 않고도, 빈번 항목 집합(frequent itemset)을 직접 찾아낼 수 있다.

빈번 항목 집합 탐색은 헤더 테이블에서 가장 지지도가 낮은 항목부터 시작한다. 특정 항목 I를 기준으로, 이 항목을 포함하는 모든 정렬된 거래 경로들을 찾는다. 이 경로들을 이용하여 I에 대한 '조건부 트리(conditional tree)'라는 새로운 트리를 만든다. 조건부 트리는 원래 FP-트리에서 I와 관련된 부분만 추출하여 재구성한 것이다. 조건부 트리를 만들면서 각 노드의 지지도를 다시 계산하고, 최소 지지도를 만족하지 못하는 노드와 그 아래 하위 트리는 제거(가지치기)한다. 만약 조건부 트리 자체에서 최소 지지도를 만족하는 항목이 더 이상 없다면, 해당 항목 I에 대한 탐색은 멈춘다. 이 과정을 통해 최종적으로 남은 경로들이 빈번 항목 집합이 된다. 이 작업이 끝나면, 헤더 테이블에서 다음으로 지지도가 낮은 항목을 선택하여 동일한 절차를 반복한다.

이 재귀적 탐색이 모두 완료되면 모든 빈번 항목 집합을 찾게 되며, 이를 바탕으로 최종적인 연관 규칙을 생성할 수 있다.[31]

5. 3. Eclat 알고리즘

Eclat[11](ECLAT, 동치 클래스 변환(Equivalence Class Transformation)의 약자)는 백트래킹 알고리즘의 일종으로, 빈발 항목 집합(frequent itemset)을 찾기 위해 깊이 우선 탐색(DFS) 방식을 사용한다. 이는 너비 우선 탐색(BFS) 방식을 사용하는 Apriori 알고리즘과 비교했을 때 탐색 순서에서 차이를 보인다. Apriori는 작은 항목 집합부터 확인하여 점차 큰 집합으로 나아가지만, Eclat은 큰 항목 집합을 먼저 탐색한다. 이 과정에서 '하향 닫힘 속성'(downward closure property, 큰 집합이 특정 기준을 만족하면 그 부분집합들도 만족할 가능성이 높다는 원리)을 활용하여, 모든 하위 집합의 지지도를 일일이 확인할 필요 없이 효율적으로 탐색을 진행할 수 있다는 장점이 있다. 또한, 깊이 우선 탐색너비 우선 탐색보다 일반적으로 더 적은 메모리를 사용하는 경향이 있다.

예를 들어, 자주 발생하는 항목 집합으로 {a, b, c}가 있다고 가정해보자. 깊이 우선 탐색 방식은 {a} → {a, b} → {a, b, c} 순서로 탐색을 진행할 수 있다. 만약 {a, b, c}가 특정 지지도 기준을 만족한다면, 하향 닫힘 속성에 따라 그 부분집합인 {a, b}, {a, c}, {b, c}, {a}, {b}, {c} 등도 기준을 만족할 가능성이 높다고 추론하여 불필요한 확인 과정을 줄일 수 있다. 반면, 너비 우선 탐색 방식은 {a}, {b}, {c}부터 시작하여 {a, b}, {a, c}, {b, c}를 거쳐 최종적으로 {a, b, c}를 확인하게 된다. 항목 집합의 크기가 커질수록 확인해야 할 하위 집합의 수는 기하급수적으로 늘어나게 된다.

Eclat 알고리즘은 순차적으로 실행하거나 여러 작업을 동시에 처리하는 병렬 실행 방식 모두에 효과적으로 적용될 수 있으며, 데이터 접근의 효율성을 높이는 '지역성 향상' 특징도 가지고 있다.[28][29]

6. 통계적 연관성

표준적인 연관 규칙 학습 방식은 연관성이 있는 것처럼 보이는 항목들의 집합을 찾기 위해 수많은 가능한 조합을 탐색하는 과정에서 한계를 가진다. 이 과정에서 실제로는 관계가 없지만 우연히 함께 나타나는 허위 연관성(spurious association)을 대량으로 발견할 위험이 크다.

예를 들어, 1만 개의 항목 집합에서 왼쪽에 2개, 오른쪽에 1개의 항목을 가지는 규칙을 찾는다고 가정하면, 가능한 규칙의 수는 약 1조 개에 달한다. 만약 유의 수준 0.05로 독립성 검정을 적용한다고 가정해 보자. 이는 실제 연관성이 없을 때에도 5%의 확률로 우연히 규칙이 의미 있는 것처럼 받아들여질 수 있다는 뜻이다. 따라서 앞서 예시한 1조 개의 규칙 중 실제로는 아무런 연관성이 없음에도 불구하고, 통계적 검정만으로는 약 500억 개의 허위 규칙을 발견할 것으로 예상할 수 있다.

이러한 문제를 해결하기 위해 통계적으로 타당한 연관성 발견(statistically sound association discovery) 방법이 사용된다.[25][26] 이 접근 방식은 허위 연관성을 발견할 위험을 통제하며, 대부분의 경우 사용자가 미리 정한 유의 수준 내에서 관리할 수 있도록 돕는다.

7. 역사

현재 "연관 규칙"이라고 불리는 개념은 이미 1966년 페트르 하예크(Petr Hájek) 등이 개발한 일반적인 데이터 마이닝 방법인 GUHA에 관한 논문[22]에서 소개되었다.[23] 최소 지지도와 신뢰도를 사용하여 모든 연관 규칙을 찾는 초기 사용 사례는 1989년경의 Feature Based Modeling 프레임워크로, 사용자가 정의한 제약 조건보다 큰 지지도(\mathrm{supp}(X))와 신뢰도(\mathrm{conf}(X \Rightarrow Y))를 가진 모든 규칙을 찾았다.[24]

이후 연관 규칙의 개념은 1993년 아그라왈 외의 논문[2]으로 인해 특히 널리 알려졌으며, 이 논문은 2021년 4월 기준으로 구글 학술 검색에서 23,790회 이상 인용되어 데이터 마이닝 분야에서 가장 많이 인용된 논문 중 하나가 되었다.

8. 기타 연관 규칙 마이닝

ASSOC 절차[32]는 빠른 비트열 연산을 사용하여 일반화된 연관 규칙을 마이닝하는 GUHA 방법이다. 이 방법으로 찾아낸 연관 규칙은 apriori가 출력하는 규칙보다 더 일반적이다. 예를 들어 항목을 접속사나 선언으로 연결할 수 있고, 규칙의 전제와 결과 사이의 관계도 단순히 최소 지지도와 신뢰도를 설정하는 것을 넘어, 지원되는 다양한 관심 척도를 조합하여 사용할 수 있다.

OPUS는 대부분의 다른 알고리즘과 달리 최소 지지도와 같은 단조 또는 반단조 제약 조건을 요구하지 않는 효율적인 규칙 발견 알고리즘이다.[33] 처음에는 고정된 결론에 대한 규칙을 찾는 데 사용되었지만,[33][34] 이후 모든 항목을 결론으로 하는 규칙을 찾도록 확장되었다.[35] OPUS 검색은 널리 사용되는 매그넘 오푸스(Magnum Opus) 연관 규칙 발견 시스템의 핵심 기술이다.
다중 관계 연관 규칙 (MRAR): 각 항목이 여러 관계를 가질 수 있는 연관 규칙이다. 이러한 관계는 개체 간의 간접적인 관계를 나타낸다. 예를 들어, 첫 번째 항목이 '거주', '근처', '습함'이라는 세 가지 관계로 구성된 MRAR은 다음과 같을 수 있다: “''습한'' 기후 유형의 도시 ''근처''에 있는 곳에 ''사는'' 사람이 20세 ''미만''이면 ''건강 상태''가 좋다”. 이러한 연관 규칙은 RDBMS 데이터 또는 시맨틱 웹 데이터에서 추출할 수 있다.[37]
대조 집합 학습: 연관 학습의 한 형태로, 하위 집합 전체에서 유의미하게 다른 규칙을 사용하는 대조 집합 학습자를 활용한다.[38][39]
가중 클래스 학습: 클래스에 가중치를 할당하여 데이터 마이닝 결과의 소비자에 대한 특정 관심사에 초점을 맞출 수 있는 또 다른 형태의 연관 학습이다.
고차 패턴 발견: 복잡한 실제 데이터에 내재된 고차 (다의적) 패턴 또는 이벤트 연관을 캡처하는 데 도움을 준다.[40]
K-최적 패턴 발견: 각 패턴이 데이터에서 자주 나타나야 하는 연관 규칙 학습의 표준 접근 방식에 대한 대안을 제공한다.
근사 빈도 항목 집합 마이닝: 일부 행의 일부 항목이 0이 되도록 허용하는 빈도 항목 집합 마이닝의 완화된 버전이다.[41]
일반화된 연관 규칙: 계층적 분류 (개념 계층)를 활용한다.
정량적 연관 규칙: 범주형 데이터와 정량적 데이터를 함께 다룬다.
구간 데이터 연관 규칙: 데이터를 특정 구간으로 나누어 규칙을 찾는다. 예를 들어, 나이를 5세 증가 범위로 분할하는 방식이다.
순차 패턴 마이닝: 사용자가 설정한 최소 지지 임계값(minsup)보다 많은 시퀀스에서 공통적인 서브 시퀀스를 발견한다. 시퀀스는 트랜잭션의 정렬된 목록이다.[42]
부분 공간 클러스터링: 고차원 데이터 클러스터링의 특정 유형으로, 특정 클러스터링 모델에 대한 하향식 폐쇄 속성을 기반으로 하는 다양한 변형이 있다.[43]
Warmr: ACE 데이터 마이닝 제품군의 일부로 제공되며, 일차 관계 규칙에 대한 연관 규칙 학습을 허용한다.[44]

참조

[1] 논문 Discovery, analysis, and presentation of strong rules AAAI/MIT Press
[2] 서적 Proceedings of the 1993 ACM SIGMOD international conference on Management of data - SIGMOD '93
[3] 웹사이트 Drawbacks and solutions of applying association rule mining in learning management systems https://sci2s.ugr.es[...] 2007
[4] 웹사이트 Data Mining Techniques: Top 5 to Consider https://www.precisel[...] 2021-12-10
[5] 웹사이트 16 Data Mining Techniques: The Complete List - Talend https://www.talend.c[...] 2021-12-10
[6] 웹사이트 What are Association Rules in Data Mining (Association Rule Mining)? https://searchbusine[...] 2021-12-10
[7] 웹사이트 Drawbacks and solutions of applying association rule mining in learning management systems https://www.research[...] 2021-12-10
[8] 서적 Introduction to Data Mining Addison-Wesley
[9] 서적 Proceedings 17th International Conference on Data Engineering
[10] 웹사이트 Fast algorithms for mining association rules in large databases http://rakesh.agrawa[...]
[11] 간행물 Scalable algorithms for association mining
[12] 서적 Discovering Knowledge in Data http://dx.doi.org/10[...] 2014-06-23
[13] 간행물 Introduction to arules – A computational environment for mining association rules and frequent item sets https://mran.revolut[...] 2016-03-18
[14] 웹사이트 Visualizing Association Rules for Text Mining https://neuro.bstu.b[...] 1999
[15] 간행물 Algorithms for association rule mining --- a general survey and comparison
[16] 서적 Proceedings of the 1997 ACM SIGMOD international conference on Management of data - SIGMOD '97
[17] 간행물 Alternative interest measures for mining associations in databases
[18] 서적 Proceedings of the seventeenth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems - PODS '98
[19] 논문 Discovery, analysis, and presentation of strong rules
[20] 간행물 Selecting the right objective measure for association analysis
[21] 웹사이트 A Probabilistic Comparison of Commonly Used Interest Measures for Association Rules https://mhahsler.git[...]
[22] 간행물 The GUHA method of automatic hypotheses determination
[23] 서적 Database Support for Data Mining Applications
[24] 간행물 A Machine Learning Approach to Student Modelling 1989
[25] 간행물 Discovering Significant Patterns
[26] 간행물 Assessing data mining results via swap randomization
[27] arXiv Comparing Dataset Characteristics that Favor the Apriori, Eclat or FP-Growth Frequent Itemset Mining Algorithms 2017-01-30
[28] 간행물 New Algorithms for Fast Discovery of Association Rules
[29] 간행물 Parallel Algorithms for Discovery of Association Rules
[30] 서적 Proceedings of the 2000 ACM SIGMOD international conference on Management of data 2000
[31] 문서 Data mining practical machine learning tools and techniques, 3rd edition
[32] 서적 Mechanizing Hypothesis Formation: Mathematical Foundations for a General Theory http://www.cs.cas.cz[...] Springer-Verlag
[33] 논문 OPUS: An Efficient Admissible Algorithm for Unordered Search http://webarchive.lo[...] AAAI Press
[34] 간행물 Constraint-based rule mining in large, dense databases
[35] 서적 Proceedings of the sixth ACM SIGKDD international conference on Knowledge discovery and data mining - KDD '00
[36] 웹사이트 DSS News: Vol. 3, No. 23 http://www.dssresour[...]
[37] 논문 MRAR: Mining Multi-Relation Association Rules
[38] 간행물 On Detecting Differences Between Groups http://portal.acm.or[...]
[39] 학술지 Computing practices - Data mining for very busy people
[40] 학술지 High-order pattern discovery from discrete-valued data
[41] 서적 Proceedings of the 2006 SIAM International Conference on Data Mining
[42] 논문 SPADE: An Efficient Algorithm for Mining Frequent Sequences
[43] 서적 Frequent Pattern Mining
[44] 학술지 Warmr: a data mining tool for chemical data. 2001-02
[45] 서적 Discovery, analysis, and presentation of strong rules AAAI/MIT Press
[46] 서적 Proceedings of the 1993 ACM SIGMOD international conference on Management of data - SIGMOD '93
[47] 웹인용 Drawbacks and solutions of applying association rule mining in learning management systems https://sci2s.ugr.es[...] 2007



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com