logo

아프리오리 알고리즘

Apriori 알고리즘은 객체 간의 연관 규칙을 계산하는 데 사용되는 알고리즘을 말합니다. 이는 두 개 이상의 개체가 서로 어떻게 관련되어 있는지를 의미합니다. 즉, 선험적 알고리즘은 A상품을 구매한 사람들이 B상품도 구매했다고 분석하는 연관규칙기울기라고 할 수 있다.

apriori 알고리즘의 주요 목적은 서로 다른 개체 간의 연관 규칙을 만드는 것입니다. 연관 규칙은 두 개 이상의 객체가 서로 어떻게 연관되어 있는지 설명합니다. Apriori 알고리즘은 빈번한 패턴 마이닝이라고도 합니다. 일반적으로 Apriori 알고리즘은 엄청난 수의 트랜잭션으로 구성된 데이터베이스에서 작동됩니다. 예를 통해 선험적 알고리즘을 이해해 봅시다. Big Bazar에 가서 다른 제품을 구입한다고 가정해 보겠습니다. 고객이 쉽게 제품을 구매할 수 있도록 돕고 빅바자르의 판매 성과를 높여줍니다. 이 튜토리얼에서는 예제를 통해 선험적 알고리즘에 대해 논의합니다.

소개

개념을 더 잘 이해하기 위해 예를 들어 보겠습니다. 피자 가게 판매자가 피자, 청량 음료, 빵집 콤보를 함께 만드는 것을 보셨을 것입니다. 그는 또한 이러한 콤보를 구매하는 고객에게 할인을 제공합니다. 그 사람이 왜 그렇게 하는지 생각해 본 적 있나요? 그는 피자를 사는 고객이 청량음료와 빵집도 함께 산다고 생각합니다. 그러나 그는 콤보를 만들어 고객이 쉽게 사용할 수 있도록 해줍니다. 동시에 그는 판매 실적도 향상시켰습니다.

마찬가지로 빅 바자르(Big Bazar)에 가면 비스킷, 칩, 초콜릿이 함께 묶인 것을 찾을 수 있습니다. 매장 주인은 고객이 같은 장소에서 이러한 제품을 구매할 수 있도록 편안하게 만드는 것을 보여줍니다.

위의 두 가지 예는 Association Rule의 가장 좋은 예입니다.

  • 지원하다
  • 신뢰
  • 승강기
  • 이 개념을 이해하기 위해 예를 들어 보겠습니다.

    우리는 위에서 이미 논의했습니다. 많은 트랜잭션을 포함하는 거대한 데이터베이스가 필요합니다. Big Bazar에서 4000명의 고객 거래가 있다고 가정합니다. 두 제품에 대한 지지도, 신뢰도, 상승도를 계산해야 하며 비스킷과 초콜릿이라고 말할 수 있습니다. 고객들이 이 두 품목을 함께 구매하는 경우가 많기 때문이다.

    4000개의 거래 중 400개에는 비스킷이 포함되어 있고 600개에는 초콜릿이 포함되어 있으며 이러한 600개의 거래에는 비스킷과 초콜릿이 포함된 200개가 포함됩니다. 이 데이터를 사용하여 지지도, 신뢰도, 상승도를 알아봅니다.

    자바의 목록

    지원하다

    지원은 모든 제품의 기본 인기를 나타냅니다. 해당 제품을 구성하는 거래 수를 총 거래 수로 나눈 몫으로 지원을 찾을 수 있습니다. 따라서 우리는

    지원(비스킷) = (비스킷 관련 거래) / (총 거래)

    = 400/4000 = 10%.

    신뢰

    신뢰도는 고객이 비스킷과 초콜릿을 함께 구매할 가능성을 나타냅니다. 따라서 신뢰도를 얻으려면 비스킷과 초콜릿을 모두 포함하는 거래 수를 총 거래 수로 나누어야 합니다.

    따라서,

    신뢰도 = (비스킷과 초콜릿 모두에 관련된 거래) / (비스킷과 관련된 총 거래)

    = 200/400

    = 50퍼센트.

    이는 비스킷을 구매한 고객 중 50%가 초콜릿도 구매했다는 의미입니다.

    승강기

    위의 예를 고려하십시오. 리프트는 비스킷을 판매할 때 초콜릿 판매 비율이 증가하는 것을 의미합니다. 리프트의 수학 방정식은 다음과 같습니다.

    리프트 = (신뢰도(비스킷 - 초콜릿)/ (지지도(비스킷)

    = 50/10 = 5

    이는 사람들이 비스킷과 초콜릿을 함께 구매할 확률이 비스킷만 구매할 확률보다 5배 더 높다는 것을 의미합니다. 리프트 값이 1 미만이면 사람들이 두 품목을 함께 구매할 가능성이 낮습니다. 값이 클수록 조합이 더 좋습니다.

    Apriori 알고리즘은 데이터 마이닝에서 어떻게 작동합니까?

    예제를 통해 이 알고리즘을 이해하겠습니다.

    제품 세트가 P = {쌀, 펄스, 기름, 우유, 사과}인 빅 바자르 시나리오를 생각해 보십시오. 데이터베이스는 6개의 트랜잭션으로 구성됩니다. 여기서 1은 제품이 있음을 나타내고 0은 제품이 없음을 나타냅니다.

    거래 ID 맥박 오일밀크 사과
    t1 1 1 1 0 0
    t2 0 1 1 1 0
    t3 0 0 0 1 1
    t4 1 1 0 1 0
    t5 1 1 1 0 1
    t6 1 1 1 1 1

    Apriori 알고리즘은 주어진 가정을 만듭니다.

    • 빈발항목집합의 모든 부분집합은 빈발해야 합니다.
    • 자주 사용되지 않는 항목 세트의 하위 집합은 자주 사용되지 않아야 합니다.
    • 임계값 지원 수준을 수정합니다. 우리의 경우에는 50%로 고정했습니다.

    1 단계

    모든 거래에 나타나는 모든 제품의 빈도표를 만듭니다. 이제 빈도 테이블을 단축하여 임계값 지원 수준이 50%를 넘는 제품만 추가합니다. 주어진 빈도표를 찾습니다.

    제품 빈도(거래 건수)
    쌀(R) 4
    펄스(P) 5
    기름(O) 4
    우유(M) 4

    위 표에는 고객이 자주 구매하는 제품이 표시되어 있습니다.

    2 단계

    RP, RO, RM, PO, PM, OM과 같은 제품 쌍을 생성합니다. 주어진 빈도표를 얻게 될 것입니다.

    아이템세트 빈도(거래 건수)
    RP 4
    RO
    RM 2
    후에 4
    오후
    에 대한 2

    3단계

    50%라는 동일한 임계값 지원을 구현하고 50%를 초과하는 제품을 고려합니다. 우리의 경우에는 3개 이상입니다.

    따라서 RP, RO, PO, PM을 얻습니다.

    C의 피보나치 수열

    4단계

    이제 고객이 함께 구매하는 세 가지 제품 세트를 찾으십시오. 우리는 주어진 조합을 얻습니다.

    1. RP와 RO는 RPO를 제공합니다.
    2. PO와 PM이 POM을 제공합니다.

    5단계

    두 항목 집합의 빈도를 계산하면 주어진 빈도표를 얻을 수 있습니다.

    아이템세트 빈도(거래 건수)
    RPO 4
    포엠

    임계값 가정을 구현하면 고객의 세 가지 제품 집합이 RPO임을 알 수 있습니다.

    우리는 데이터 마이닝의 선험적 알고리즘을 논의하기 위해 쉬운 예를 고려했습니다. 실제로는 그러한 조합이 수천 개나 발견됩니다.

    Apriori 알고리즘의 효율성을 향상시키는 방법은 무엇입니까?

    Apriori 알고리즘의 효율성을 위해 사용되는 다양한 방법이 있습니다.

    해시 기반 항목 집합 계산

    해시 기반 항목 집합 계산에서는 해당 해시 버킷 개수가 임계값보다 작은 k-항목 집합을 제외해야 합니다.

    거래 감소

    트랜잭션 축소에서 빈번한 X 항목 집합을 포함하지 않는 트랜잭션은 후속 스캔에서 가치가 없습니다.

    데이터 마이닝의 Apriori 알고리즘

    우리는 이미 빈발항목집합 생성과 관련된 선험적 알고리즘의 예를 논의했다. Apriori 알고리즘은 데이터 마이닝에 많은 응용 프로그램을 가지고 있습니다.

    데이터 마이닝에서 연관 규칙을 찾기 위한 기본 요구 사항은 다음과 같습니다.

    무차별 대입 사용

    모든 규칙을 분석하고 개별 규칙에 대한 지지도와 신뢰 수준을 찾습니다. 그런 다음 임계값 지원 및 신뢰 수준보다 작은 값을 제거합니다.

    2단계 접근법

    2단계 접근 방식은 Brute Force 방법보다 연관 규칙을 찾는 더 나은 옵션입니다.

    1 단계

    이번 글에서는 빈도표를 생성하는 방법과, 임계지지보다 더 큰 지지값을 갖는 항목집합을 계산하는 방법에 대해 이미 논의하였다.

    2 단계

    연관 규칙을 생성하려면 빈발 항목 집합의 이진 분할을 사용해야 합니다. 신뢰도가 가장 높은 것을 선택해야 합니다.

    위의 예에서는 RPO 조합이 빈발항목집합인 것을 알 수 있습니다. 이제 RPO를 사용하여 모든 규칙을 알아봅니다.

    RP-O, RO-P, PO-R, O-RP, P-RO, R-PO

    6가지의 서로 다른 조합이 있음을 알 수 있습니다. 따라서 n개의 요소가 있으면 2개가 됩니다.N- 2개의 후보자 협회 규칙.

    Apriori 알고리즘의 장점

    • 큰 항목 집합을 계산하는 데 사용됩니다.
    • 이해하고 적용하기 쉽습니다.

    Apriori 알고리즘의 단점

    • Apriori 알고리즘은 계산이 전체 데이터베이스를 통과해야 하기 때문에 지원을 찾는 데 비용이 많이 드는 방법입니다.
    • 때로는 엄청난 수의 후보 규칙이 필요하므로 계산 비용이 더 많이 듭니다.