Association Rule

Project Date : 09 Desember 2022

Image

Project Name:

Association Rule

Technology Project:
Python dan Google Colaboratory

Pendahuluan

Association Rule atau aturan asosiasi adalah teknik data mining yang digunakan untuk menemukan hubungan menarik antara variabel dalam basis data yang besar. Teknik ini sering digunakan dalam analisis keranjang belanja untuk menemukan pola pembelian yang sering terjadi bersama-sama. Misalnya, jika seorang pelanggan membeli roti, mereka juga cenderung membeli mentega. Aturan asosiasi terdiri dari dua komponen utama: antecedent (if) dan consequent (then).

  1. Antecedent (LHS - Left-Hand Side): Bagian "jika" dari aturan, yaitu item atau kombinasi item yang muncul terlebih dahulu.
  2. Consequent (RHS - Right-Hand Side): Bagian "maka" dari aturan, yaitu item atau kombinasi item yang muncul kemudian atau bersamaan dengan antecedent.

Metrik dalam Association Rule

  1. Support: Mengukur seberapa sering item atau kombinasi item muncul dalam dataset. Support untuk aturan 𝐴 → 𝐵 adalah persentase transaksi dalam database yang mengandung kedua item 𝐴 dan 𝐵.

    \[ \text{Support}(A \rightarrow B) = \frac{\text{Jumlah transaksi yang mengandung } A \text{ dan } B}{\text{Jumlah total transaksi}} \]

  2. Confidence: Mengukur seberapa sering consequent 𝐵 muncul dalam transaksi yang mengandung antecedent 𝐴 Ini adalah probabilitas kondisional 𝑃 ( 𝐵 ∣ 𝐴 ).

    \[ \text{Confidence}(A \rightarrow B) = \frac{\text{Jumlah transaksi yang mengandung } A \text{ dan } B}{\text{Jumlah transaksi yang mengandung A}} \]

  3. Lift: Mengukur seberapa banyak peningkatan probabilitas munculnya 𝐵 ketika 𝐴 terjadi, dibandingkan dengan ketika 𝐴 tidak terjadi. Lift adalah rasio antara confidence dan support dari 𝐵.

    \[ \text{Lift}(A \rightarrow B) = \frac{\text{Confidence} (A \rightarrow B)} {\text{Support (B)}} \]

Contoh Sederhana

  • Transaksi 1: {roti, mentega, susu}
  • Transaksi 2: {roti, mentega}
  • Transaksi 3: {roti, susu}
  • Transaksi 4: {mentega, susu}

Jika ingin menemukan aturan asosiasi antara roti dan mentega:

  • Support(roti → mentega) = 2/4 = 0.5 (karena ada 2 transaksi yang mengandung roti dan mentega dari total 4 transaksi)
  • Confidence(roti → mentega) = 2/3 = 0.67 (karena ada 2 dari 3 transaksi yang mengandung roti juga mengandung mentega)
  • Lift(roti → mentega) = 0.67 / 0.75 = 0.89 (karena support untuk mentega adalah 3/4 = 0.75)

Algoritma yang digunakan

  • Apriori: Algoritma yang menggunakan pendekatan iteratif untuk menemukan itemset yang sering muncul dan kemudian mengembangkan aturan asosiasi dari itemset tersebut.
  • FP-Growth: Algoritma yang lebih efisien dibandingkan Apriori karena tidak memerlukan banyak pemindaian database dan menggunakan struktur data tree.

Proses Apriori Manual

    Untuk mengimplementasikan algoritma Apriori secara manual, kita harus mengidentifikasi semua itemset yang memenuhi support minimum, lalu dari itemset tersebut, kita menghasilkan aturan asosiasi dan mengevaluasi mereka berdasarkan confidence dan lift.
  1. Itemset Tunggal:
    • 'roti': support = 3/4 = 0.75
    • 'mentega': support = 3/4 = 0.75
    • 'susu': support = 3/4 = 0.75
  2. Itemset 2-item:
    • 'roti, mentega': support = 2/4 = 0.5
    • 'roti, susu': support = 2/4 = 0.5
    • 'mentega, susu': support = 2/4 = 0.5
  3. Itemset 3-item:
    • 'roti, mentega, susu': support = 1/4 = 0.25 (tidak memenuhi threshold minimum support 0.5)

Association Rules

    Dari frequent itemsets di atas, kita dapat membentuk aturan asosiasi dan menghitung nilai confidence dan lift untuk masing-masing aturan (Aturan dari Itemset 2-item):
  1. Aturan: 'roti → mentega'
    • Support: 0.5
    • Confidence: 2/3 ≈ 0.67
    • Lift: 0.67 / 0.75 ≈ 0.89
  2. Aturan: 'roti → susu'
    • Support: 0.5
    • Confidence: 2/3 ≈ 0.67
    • Lift: 0.67 / 0.75 ≈ 0.89
  3. Aturan: 'mentega → susu'
    • Support: 0.5
    • Confidence: 2/3 ≈ 0.67
    • Lift: 0.67 / 0.75 ≈ 0.89
  4. Aturan: 'mentega → roti'
    • Support: 0.5
    • Confidence: 2/3 ≈ 0.67
    • Lift: 0.67 / 0.75 ≈ 0.89
  5. Aturan: 'susu → roti'
    • Support: 0.5
    • Confidence: 2/3 ≈ 0.67
    • Lift: 0.67 / 0.75 ≈ 0.89
  6. Aturan: 'susu → mentega'
    • Support: 0.5
    • Confidence: 2/3 ≈ 0.67
    • Lift: 0.67 / 0.75 ≈ 0.89

Kesimpulan

    Dari hasil di atas, kita dapat menyimpulkan bahwa aturan-aturan asosiasi berikut memenuhi threshold minimum support 0.5 dan minimum confidence 0.67:
  1. 'roti → mentega' dengan support 0.5, confidence ≈ 0.67, lift ≈ 0.89
  2. 'roti → susu' dengan support 0.5, confidence ≈ 0.67, lift ≈ 0.89
  3. 'mentega → susu' dengan support 0.5, confidence ≈ 0.67, lift ≈ 0.89
  4. 'mentega → roti' dengan support 0.5, confidence ≈ 0.67, lift ≈ 0.89
  5. 'susu → roti' dengan support 0.5, confidence ≈ 0.67, lift ≈ 0.89
  6. 'susu → mentega' dengan support 0.5, confidence ≈ 0.67, lift ≈ 0.89

Aturan-aturan ini menunjukkan kombinasi item yang sering dibeli bersama, yang dapat digunakan untuk pengambilan keputusan dalam bisnis, seperti penempatan produk, promosi, dan rekomendasi produk.


My Jupyter Notebook