MANAJEMEN DATA DAN PENGETAHUAN
DATA MINING ASSOCIATION RULE
OLEH:
Adam Mukharil Bachtiar
Setelah mempelajari pengantar
data mining, mari kita mulai pelajari
Data Mining Association Rule.
Metode untuk mengekstrasi hubungan asosiatif
atau korelasi yang menarik antar item
Association Rule*
* Dikenal juga sebagai metode Market Basket Analysis
Source: deepclimate.org
HUBUNGAN ASOSIATIF ANTAR ITEM
if then
if antecedent then consequent
Artinya:
1. Ada hubungan asosiatif antara roti dengan selai.
2. Jika seseorang membeli roti maka dia berkemungkinan juga sebesar n% untuk membeli selai dalam satu pembelian
Sebelum menerapkan Association
Rule, pahami dua parameternya:
Nilai Support dan Nilai Confidence
Rasio antara jumlah transaksi yang memuat
antecedent dan consequent terhadap jumlah
transaksi.
Nilai Support*
* Jumlah kemunculan item pada suatu himpunan transaksi biasa disebut support count
RUMUS NILAI SUPPORT
𝑺 =
∑(𝑻𝒂 + 𝑻𝒄)
∑(𝑻)
Keterangan:
• 𝑺 : Support
• ∑(𝑻𝒂 + 𝑻𝒄) : Jumlah transaksi yang mengandung antecedent dan consequent
• ∑(𝑻) : Jumlah transaksi
T1
T2
SUPPORT COUNT
ITEM SC
A 1
B 2
C 2
D 1
HIMPUNAN TRANSAKSI
NILAI SUPPORT
ITEM SC
if A then B,C 0.5 (50%)
if B then C 1 (100%)
if B then C,A 0.5 (50%)
Rasio antara jumlah transaksi yang memuat
antecedent dan consequent terhadap jumlah
transaksi yang meliputi semua item dalam
antecedent
Nilai Confidence*
* Semakin tinggi nilai confidence maka hubungan asosiasi makin akurat
RUMUS NILAI CONFIDENCE
𝑺 =
∑(𝑻𝒂 + 𝑻𝒄)
∑(𝑻𝒂)
Keterangan:
• 𝑺 : Support
• ∑(𝑻𝒂 + 𝑻𝒄) : Jumlah transaksi yang mengandung antecedent dan consequent
• ∑(𝑻𝒂) : Jumlah transaksi yang mengandung antecedent
T1
T2
HIMPUNAN TRANSAKSI
NILAI CONFIDENCE
ITEM SC
if A then B,C 1 (100%)
if B then C 1 (100%)
if B then C,A 0.5 (50%)
Metode Association Rule memiliki
beberapa pilihan algoritma, di
antaranya: Algoritma Apriori dan
Algoritma FP-Growth
Algoritma 1:
Apriori
Mengembangkan frequent itemset*
dan memangkas item yang tingkat
frekuensinya di bawah minimum
support (Support >= Minimal Support).
IDE APRIORI
* Dihitung berdasarkan support count (kemunculan) himpunan item
Mari kita coba
implementasikan
algoritma apriori
pada kasus berikut.
Langkah 1:
Tentukan nilai minimum support dan
minimum confidence
Menyatakan nilai minimum
kemunculan itemset pada suatu
kumpulan transaksi.
MINIMUM SUPPORT
Menyatakan nilai minimum
kepercayaan terhadap rule yang
dihasilkan
MINIMUM CONFIDENCE
Dalam kasus ini, ditentukan nilai
minimum support = 2 (22%) dan
minimum confidence = 70%
Langkah 2:
Generate frequent pattern 1-itemset
Catatan:
Pada iterasi pertama ini, semua itemset memenuhi aturan minimum supportnya sehingga semua item
menjadi kandidat.
Langkah 3:
Generate frequent pattern 2-itemset
L1
Catatan:
1. C2 adalah hasil dari L1 join L1
2. L2 adalah itemset C2 yang memenuhi aturan minimum support
Langkah 4:
Generate frequent pattern 3-itemset. Lakukan
untuk n-itemset sampai itemset tidak dapat
terbentuk kembali.
Catatan:
1. Algoritma apriori mulai berjalan di langkah ini
2. Join step: {{I1, I2, I3}, {I1, I2, I5}, {I1, I3, I5}, {I2, I3, I4}, {I2, I3, I5}, {I2, I4, I5}}
3. {I1, I3, I5}, {I2, I3, I4}, {I2, I3, I5}, {I2, I4, I5} tidak dijadikan itemset karena ada subset dari set tersebut
yang tidak memenuhi minimum support (prune)
Langkah 5:
Bentuk Association Rule dari frequent itemset
yang sudah dibentuk. Rule yang nilai
confidencenya lebih dari minimum confidence
akan digunakan (Strong Association Rule).
{{I1}, {I2}, {I3}, {I4}, {I5}, {I1,I2}, {I1,I3}, {I1,I5},
{I2,I3}, {I2,I4}, {I2,I5}, {I1,I2,I3}, {I1,I2,I5}}
ITEMSET TERPILIH
Sebagai contoh dipilih
{I1,I2,I5} untuk mencari
Strong Association Rule.
{I1,I2,I5} à Subset = {{I1,I2}, {I1,I5}, {I2,I5}, {I1}, {I2}, {I5}}
Minimum confidence: 70%
• IF {I1,I2} THEN {I5} Confidence: sc{I1,I2,I5}/sc {I1,I2} = 2/4 = 50% (Rule Rejected!)
• IF {I1,I5} THEN {I2} Confidence: sc{I1,I2,I5}/sc {I1,I5} = 2/2 = 100%(Rule Selected!)
• IF {I2,I5} THEN {I1} Confidence: sc{I1,I2,I5}/sc {I2,I5} = 2/2 = 100% (Rule Selected!)
• IF {I1} THEN {I2,I5} Confidence: sc{I1,I2,I5}/sc {I1} = 2/6 = 33% (Rule Rejected!)
• IF {I2} THEN {I1,I5} Confidence: sc{I1,I2,I5}/sc {I2} = 2/7 = 29% (Rule Rejected!)
• IF {I5} THEN {I1,I2} Confidence: sc{I1,I2,I5}/sc {I5} = 2/2 = 100% (Rule Selected!)
Algoritma 2:
FP-Growth
Mengembangkan FP-Tree* dan
Conditional FP-Tree sebagai
pengganti Frequent Itemset.
IDE FP-GROWTH
* Hal ini dilakukan agar tidak terjadi query terlalu sering ke data transaksi ketika membentuk
Frequent Itemset
Mari kita coba
implementasikan
algoritma FP-Growth
pada kasus berikut.
Langkah 1:
Tentukan nilai minimum support dan
minimum confidence
Dalam kasus ini, ditentukan nilai
minimum support = 2 (22%) dan
minimum confidence = 70%
Langkah 2:
Generate frequent pattern 1-itemset
Catatan:
Pada iterasi pertama ini, semua itemset memenuhi aturan minimum supportnya sehingga semua item
menjadi kandidat.
Langkah 3:
Urutkan tabel transaksi berdasarkan frequent
1-itemset yang sudah diurutkan support
count-nya secara descending.
Sort menurut support count (Descending):
𝐿 = { 𝐼2: 7 , 𝐼1: 6 , 𝐼3: 6 , 𝐼4: 2 , 𝐼5: 2 }
TID List of
Items
T1 I2, I1, I5
T2 I2, I4
T3 I2, I3
T4 I2, I1, I4
T5 I1, I3
T6 I2, I3
T7 I1, I3
T8 I2, I1, I3, I5
T9 I2, I1, I3
Catatan:
Apabila ada dua item atau lebih yang memiliki support count yang sama maka urutan didasarkan pada item
mana yang ada di transaksi yang lebih awal muncul (T1 terjadi lebih dahulu dibanding T2).
Langkah 4:
Bentuk FP-Tree sesuai algoritma FP-Tree.
TID List of
Items
T1 I2, I1, I5
T2 I2, I4
T3 I2, I3
T4 I2, I1, I4
T5 I1, I3
T6 I2, I3
T7 I1, I3
T8 I2, I1, I3, I5
T9 I2, I1, I3
null
I2:1
I1:1
I5:1
Catatan:
null akan menjadi root dan child
dari root dipilih berdasarkan
scan List of Items
TID List of
Items
T1 I2, I1, I5
T2 I2, I4
T3 I2, I3
T4 I2, I1, I4
T5 I1, I3
T6 I2, I3
T7 I1, I3
T8 I2, I1, I3, I5
T9 I2, I1, I3
null
I2:2
I1:1
I5:1
I4:1
TID List of
Items
T1 I2, I1, I5
T2 I2, I4
T3 I2, I3
T4 I2, I1, I4
T5 I1, I3
T6 I2, I3
T7 I1, I3
T8 I2, I1, I3, I5
T9 I2, I1, I3
null
I2:3
I1:1
I5:1
I4:1 I3:1
TID List of
Items
T1 I2, I1, I5
T2 I2, I4
T3 I2, I3
T4 I2, I1, I4
T5 I1, I3
T6 I2, I3
T7 I1, I3
T8 I2, I1, I3, I5
T9 I2, I1, I3
null
I2:4
I1:2
I5:1
I4:1 I3:1
I4:1
TID List of
Items
T1 I2, I1, I5
T2 I2, I4
T3 I2, I3
T4 I2, I1, I4
T5 I1, I3
T6 I2, I3
T7 I1, I3
T8 I2, I1, I3, I5
T9 I2, I1, I3
null
I2:4
I1:2
I5:1
I4:1 I3:1
I4:1
I1:1
I3:1
TID List of
Items
T1 I2, I1, I5
T2 I2, I4
T3 I2, I3
T4 I2, I1, I4
T5 I1, I3
T6 I2, I3
T7 I1, I3
T8 I2, I1, I3, I5
T9 I2, I1, I3
null
I2:5
I1:2
I5:1
I4:1 I3:2
I4:1
I1:1
I3:1
TID List of
Items
T1 I2, I1, I5
T2 I2, I4
T3 I2, I3
T4 I2, I1, I4
T5 I1, I3
T6 I2, I3
T7 I1, I3
T8 I2, I1, I3, I5
T9 I2, I1, I3
null
I2:5
I1:2
I5:1
I4:1 I3:2
I4:1
I1:2
I3:2
TID List of
Items
T1 I2, I1, I5
T2 I2, I4
T3 I2, I3
T4 I2, I1, I4
T5 I1, I3
T6 I2, I3
T7 I1, I3
T8 I2, I1, I3, I5
T9 I2, I1, I3
null
I2:6
I1:3
I5:1
I4:1 I3:2
I4:1
I1:2
I3:2
I3:1
I5:1
TID List of
Items
T1 I2, I1, I5
T2 I2, I4
T3 I2, I3
T4 I2, I1, I4
T5 I1, I3
T6 I2, I3
T7 I1, I3
T8 I2, I1, I3, I5
T9 I2, I1, I3
null
I2:7
I1:4
I5:1
I4:1 I3:2
I4:1
I1:2
I3:2
I3:2
I5:1
Untuk mempermudah penelusuran
FP-Tree dibentuklah Nodelink.
null
I2:7
I1:4
I5:1
I4:1 I3:2
I4:1
I1:2
I3:2
I3:2
I5:1
Ilustrasi FP-Tree tanpa node-link Ilustrasi FP-Tree dengan node-link
Langkah 5:
Bentuk Conditional Pattern Base dimulai dari
item dengan support count terendah ke item
dengan support count tertinggi.
Item Conditional Pattern
Base
I5 {I2, I1:1}, {I2, I1, I3:1}
I4
I3
I1
null
I2:7
I1:4
I5:1
I4:1 I3:2
I4:1
I1:2
I3:2
I3:2
I5:1
Catatan:
I2 tidak diikutsertakan karena
prefixnya adalah null (root).
Item Conditional Pattern
Base
I5 {I2, I1:1}, {I2, I1, I3:1}
I4 {I2, I1:1}, {I2:1}
I3
I1
null
I2:7
I1:4
I5:1
I4:1 I3:2
I4:1
I1:2
I3:2
I3:2
I5:1
Item Conditional Pattern
Base
I5 {I2, I1:1}, {I2, I1, I3:1}
I4 {I2, I1:1}, {I2:1}
I3 {I2, I1, I3:2}, {I2:2}, {I1:2}
I1
null
I2:7
I1:4
I5:1
I4:1 I3:2
I4:1
I1:2
I3:2
I3:2
I5:1
Item Conditional Pattern
Base
I5 {I2, I1:1}, {I2, I1, I3:1}
I4 {I2, I1:1}, {I2:1}
I3 {I2, I1, I3:2}, {I2:2}, {I1:2}
I1 {I2:4}
null
I2:7
I1:4
I5:1
I4:1 I3:2
I4:1
I1:2
I3:2
I3:2
I5:1
Langkah 6:
Bentuk Conditional FP-Tree dimulai dari
item dengan support count terendah ke
item dengan support count tertinggi
(gunakan konsep minimum support).
null
I2:7
I1:4
I5:1
I4:1 I3:2
I4:1
I1:2
I3:2
I3:2
I5:1
null
I2:2
I1:2
I5:1 I3:1
I5:1
Tahap 1: Conditional FP-Tree untuk I5 = {I2:2, I1:2}
Tidak memenuhi
minimum support
null
I2:7
I1:4
I5:1
I4:1 I3:2
I4:1
I1:2
I3:2
I3:2
I5:1
Tahap 2: Conditional FP-Tree untuk I4 = {I2:2}
null
I2:2
I1:1 I4:1
I4:1
null
I2:7
I1:4
I5:1
I4:1 I3:2
I4:1
I1:2
I3:2
I3:2
I5:1
Tahap 3: Conditional FP-Tree untuk I3 = {I2:4, I1:2}, {I1:2}
null
I2:4
I1:2 I3:2
I1:2
I3:2
I3:2
null
I2:7
I1:4
I5:1
I4:1 I3:2
I4:1
I1:2
I3:2
I3:2
I5:1
Tahap 4: Conditional FP-Tree untuk I1 = {I2:4}
null
I2:4
I1:4
ITEM
CONDITIONAL PATTERN
BASE
CONDITIONAL FP-TREE
I5 {I2, I1:1}, {I2, I1, I3:1} {I2:2, I1:2}
I4 {I2, I1:1}, {I2:1} {I2:2}
I3 {I2, I1:2}, {I2:2}, {I1:2} {I2:4, I1:2}, {I1:2}
I1 {I2:4} {I2:4}
Langkah 7:
Bentuk Frequent Patterns dengan cara
menjoinkan set dan subset conditional
FP-Tree dengan item.
ITEM
CONDITIONAL
PATTERN BASE
CONDITIONAL
FP-TREE
FREQUENT PATTERNS
GENERATED
I5 {I2, I1:1}, {I2, I1, I3:1} {I2:2, I1:2} {I2, I5:2}, {I1, I5:2}, {I2, I1, I5:2}
I4 {I2, I1:1}, {I2:1} {I2:2} {I2, I4:2}
I3 {I2, I1, I3:2}, {I2:2}, {I1:2} {I2:4, I1:2}, {I1:2} {I2, I3:4}, {I1, I3:4}, {I2, I1, I3:2}
I1 {I2:4} {I2:4} {I2, I1:4}
Langkah 8:
Cari Strong Association Rule berdasarkan
Frequent Pattern yang terbentuk dengan
cara yang sama dengan apriori.
Setelah Strong Association Rule
terbentuk, lalu apa?
Setelah Strong Association Rule
terbentuk maka langkah
selanjutnya adalah
merepresentasikan pengetahuan.
Bentuk representasi pengetahuan
didasarkan pada tujuan data
mining* yang dideskripsikan
berdasarkan kebutuhan pengguna.
* Ingat kembali CRISP DM atau metodologi Data Science lainnya
CONTOH REPRESENTASI PENGETAHUAN
No. Strong Association Rule Representasi Pengetahuan
1 if {I1,I5} then {I2} Item I1, I2, dan I5 harus ditempatkan
pada rak yang berdekatan/pada satu
lorong rak
2 if {I3} then {I1,I2} Item I3, I1, dan I2 harus ditempatkan
pada rak yang berdekatan/pada satu
lorong rak
.. .. ..
Tujuan Data Mining:
Penempatan item yang memiliki hubungan asosiatif harus ditempatkan
berdekatan agar keuntungan lebih optimal
EXERCISE TIME
Transaction
ID
Items
1 Bread, Milk
2 Bread, Diaper, Beer, Eggs
3 Milk, Diaper, Beer, Coke
4 Bread, Milk, Diaper, Beer
5 Bread, Milk, Diaper, Coke
HIMPUNAN TRANSAKSI
Kasus:
1. Tujuan data mining adalah membentuk paket ekonomis dari item yang punya hubungan asosiasi
2. Ditentukan minimum support 2 dan minimum confidence 70%

Materi 8 - Data Mining Association Rule.pdf