8.1 연관 규칙

연관 규칙은 주어진 트랜잭션 데이터에서 하나의 항목 집합이 출현할 때 다른 항목 집합(itemset)이 동시 출현(Co-occurrence)하는 규칙을 찾는 것입니다.

연관 규칙을 이해하기 위하여 자주 사용하는 용어를 먼저 알아봅니다.

다음 표는 대형 마트의 거래 내역을 예시로 나타낸 것입니다.

대형 마트의 거래 내역 예시

거래번호 항목 집합
1 빵, 우유
2 빵, 기저귀, 맥주, 계란
3 우유, 기저귀, 맥주, 콜라
4 , 우유, 기저귀, 맥주
5 , 우유, 기저귀, 콜라

여기에서 전체 트랜잭션은 거래 내역의 집합을 의미합니다. 예시에서는 거래번호 1번에서 5번까지 5개의 트랜잭션으로 구성되어 있습니다. 트랜잭션 ID는 예시의 거래번호와 같이 각 거래를 구분할 수 있는 ID값입니다. 항목 집합은 하나 이상의 아이템 집합으로 거래번호 1번의 항목 집합은 {빵, 우유}이며 2개의 아이템으로 구성된 항목 집합으로 k개의 아이템이 포함된 항목 집합(k-itemset)으로 2-항목 집합(2-itemset)이라고 합입니다.

예를 들어, (기저귀) $\Rightarrow$ (맥주)와 같이 표현하면 기저귀를 구매할 때 맥주도 자주 구매한다는 연관 규칙입니다. 항목 집합의 지지도 카운트(Support Count)는 항목 집합의 출현 빈도로 항목 집합을 포함하고 있는 거래 건수로 예시에서 항목 집합 (빵, 우유, 기저귀)의 지지도 카운트는 2로 항목 집합 (빵, 우유, 기저귀)의 지지도는 0.4입니다. 빈발 항목 집합(Frequent Itemset)은 항목 집합 중에서 연관 규칙 분석에 활용할 항목 집합으로 지지도나 신뢰도를 사전에 지정한 최솟값 이상의 항목 집합을 의미합니다. 연관 규칙은 항목 집합의 연관성을 규칙의 형태인 $if \ {\rm{ }}X{\rm{ }} \ then{\rm{ }} \ Y$로 표현한 것으로 $X \Rightarrow Y$ 형식으로 표현할 수 있습니다. 좀 더 자세한 내용은 이후 수식 살펴보기와 직접 계산해보기에서 다시 한번 살펴보겠습니다.

이 장에서 다루는 연관 규칙 기반 추천의 일반적인 절차는 다음과 같습니다.

  • 단계 1. 빈발 항목 집합 생성
    트랜잭션에서 1-항목 집합만 생성하여 각 항목 집합의 지지도를 계산하고 최소지지도 조건을 만족하는 빈발 항목 집합을 찾는다.

  • 단계 2. 연관 규칙 생성
    빈발 항목 집합에서 조합 가능한 모든 연관 규칙을 생성하여 각 연관 규칙의 지지도와 신뢰도를 계산하고 최소지지도와 최소신뢰도 조건을 만족하는 연관 규칙을 찾는다.

  • 단계 3. 연관 규칙의 흥미도 측도 계산
    특정 아이템에 대한 다른 아이템의 연관 규칙들의 흥미도 측도(지지도, 신뢰도, 향상도)를 계산한다.

  • 단계 4. 아이템을 추천
    특정 흥미도 측도가 높은 순으로 정렬된 아이템을 추천한다.

한글:829 영어:122 숫자:22

추천 시스템: 워크북

Comments

Do you have a problem, want to share feedback, or discuss further ideas? Feel free to leave a comment here! Please follow Rust's code of conduct. This comment thread directly maps to a discussion on GitHub, so you can also comment there if you prefer.

Instead of authenticating the giscus application, you can also comment directly on GitHub.