Pendahuluan
Analisis asosiasi (association analysis) berguna untuk mengungkap
hubungan yang menarik yang tersembunyi dalam dataset besar. Hubungan yang
terungkap tersebut dapat direpresentasikan dalam bentuk aturan asosiasi
(association rules) atau himpunan item yang sering muncul (sets of frequent
items).
Tabel 5.1 Contoh transaksi belanja
TID
1
2
3
4
5
Item
{Bread, Milk}
{Bread, Diapers, Beer, Eggs}
{Milk, Diapers, Beer, Cola}
{Bread, Milk, Diapers, Beer}
{Bread, Milk, Diapers, Cola}
Sebagai contoh, berikut ini merupakan aturan yang dapat di-ekstrak dari
dataset yang transaksi belanja (market basket transaction) pada Tabel 5.1.
{Diapers} {Beer}
88
(X) =| {t i | X t i , t i T} | ,
Dimana simbol |.| menyatakan jumlah elemen dalam set. Dalam data pada
Tabel 2, support count untuk {Beer, Diapers, Milk} adalah dua (2) karena hanya
dua transakasi yang mengandung ketiga item tersebut.
(X Y)
Confidence, c(X Y ) =
(X Y)
X
Contoh 5.1:
Perhatikan aturan {Milk, Diapers} {Beer}. Karena support count untuk {Milk,
adalah 2 dan jumlah total transaksi adalah 5, maka support bagi
aturan tersebut adalah 2/5 = 0.4. Confidence didapat dengan membagi support
count untuk {Milk, Diapers, Beer} dengan support count untuk {Milk, Diapers}, yaitu
2/3 = 0.67
Diapers, Beer}
89
Jika dilakukan secara brute-force, maka total aturan yang mungkin di-ekstrak
dari dataset yang berisi d item adalah R= 3d 2d+1 + 1, sehingga pendekatan
brute-force tidak mungkin dilakukan. Strategi yang sering diambil untuk
menyelesaikan permasalahan association rule discovery adalah dengan
memecah masalah tersebut ke dalam dua pekerjaan utama, yaitu
1.1. Pembangkitan Frequent Itemset, bertujuan untuk mencari semua itemset
yang memenuhi nilai ambang minsup. Itemset ini disebut frequent itemset.
1.2. Pembangkitan Aturan, bertujuan untuk meng-ekstrak seluruh aturan yang
memiliki confidence tinggi dari frequent itemset yang telah ditemukan
pada pekerjaan sebelumnya. Aturan yang memiliki confidence tinggi
disebut strong rules.
Secara umum pekerjaan pembangkitan frequent itemset memerlukan
sumberdaya komputasi yang lebih besar dibanding pekerjaan pembangkitan
aturan.
5.2 Pembangkitan Frequent Itemset
Misal terdapat itemset I = {a,b,c,d,e} daftar seluruh itemset yang mungkin
dibentuk dari itemset I dapat dilihat pada Gambar 5.1.
90
Prinsip Apriori
91
Gambar 5.3 Jika {c,d,e} frequent maka seluruh subset-nya juga harus frequent.
Gambar 5.4 Jika {a,b} infrequent maka seluruh supersetnya juga infrequent.
Definisi 5.2: (Monotonicity Property).
Ditetapkan I adalah sebuah set item, dan J=2I adalah pangkat dari I. Ukuran f
bersifat monoton (atau upward closed) jika
X, Y J : (X Y) f (X) f (Y) ,
yang bermakna jika X adalah subset dari Y, maka f(X) harus tidak melebihi f(Y).
Sebaliknya f bersifat anti-monoton (atau downward closed) jika
X, Y J : (X Y) f (Y) f (X) ,
yang bermakna jika X adalah subset dari Y, maka f(Y) harus tidak melebihi f(X).
92
5.2.2
93
6 6 6
+ + = 6 + 15 + 20 = 41
1 2 3
Dengan prinsip Apriori, jumlah kandidat yang dihasilkan berkurang menjadi
6 4
+ + 1 = 6 + 6 + 1 = 13
1 2
Pseudocode untuk membangkitkan frequent itemset sebagai bagian dari algoritma
Apriori disajikan dalam Algoritma 5.1.
Algoritma 5.1. Pembangkitan Frequent Itemset dalam algoritma Apriori
Algoritma ini pada awalnya menghitung support untuk setiap item. Hasil
tahap ini adalah frequent 1-itemset F1 (Langkah 1 dan 2).
Algoritma berhenti ketika tidak ada lagi frequent itemset baru yang dihasilkan,
yaitu Fk = (Langkah 13)
5.2.3
94
95
96
97
Support Counting
98
itemset yang diawali dengan prefix {1 2} dan diikuti oleh item 3,5 atau 6.
Akhirnya, struktur prefix Level 3 menyatakan set lengkap 3-itemset dalam t.
Sebagai contoh, 3-itemset yang dimulai dengan prefix {1 2} adalah {1,2,3},
{1,2,5} dan {1,2,6}, sedangkan yang dimulai dengan prefix {2 3} adalah {2,3,5}
dan {2,3,6}.
99
kandidat aturan asosiasi di atas sama dengan support bagi X, maka aturan di atas
pastilah memenuhi support treshold.
Menghitung confidence bagi aturan asosiasi tidak memerlukan pembacaan dataset
lagi. Perhatikan aturan {1,2}{3}, yang dibangkitkan dari frequent itemset
X={1,2,3}. Confidence bagi aturan ini adalah ({1,2,3})/ ({1,2}). Karena {1,2,3}
frequent, sifat anti-monoton bagi support menjamin bahwa {1,2} juga frequent.
Karena support count bagi kedua itemset telah ditemukan selama kegiatan
pembangkitan itemset, maka tidak perlu lagi membaca seluruh dataset.
5.4 Pemangkasan berdasarkan Confidence
Tidak seperti pengukuran support, confidence tidak memiliki sifat monoton.
Sebagai contoh, confidence aturan X Y dapat lebih besar, lebih kecil atau sama
dengan confidence aturan
dimana
dan
. Meskipun
demikian, jika kita membandingkan aturan-aturan yang dibangkitkan dari frequent
itemset Y yang sama, maka teorema berikut berlaku bagi ukuran confidence
Teorema 5.2:
Jika aturan X Y-X tidak memenuhi nilai ambang confidence, maka aturan X
Y-X, dimana X adalah subset dari X, pastilah juga tidak memenuhi nilai ambang
confidence.
5.5 Pembangkitan Aturan dalam Algoritma Apriori
Algoritma Apriori menggunakan pendekatan level-wise untuk
membangkitkan aturan asosiasi, dimana masing-masing level berhubungan
dengan jumlah item yang menjadi konsekuen aturan.
Awalnya, seluruh aturan dengan confidence tinggi yang hanya memiliki satu
item pada sisi konsekuen, di-ekstrak. Aturan ini nanti akan digunakan untuk
membangkitkan aturan kandidat yang baru. Sebagai contoh, jika {acd}{b} dan
{abd} {c} merupakam aturan dengan confidence tinggi, maka aturan kandidat
{ad}{bc} dibangkitkan dengan menggabungkan konsekuen dari kedua aturan.
Gambar 10 memperlihatkan struktur lattice untuk aturan asosiasi yang
dibangkitkan dari frequent itemset {a,b,c,d}. Jika sembarang node dalam lattice
memiliki confidence rendah, maka menurut Teorema 2, seluruh subgraph yang
terentang oleh node tersebut dapat langsung dipangkas. Sebagai contoh, jika
confidence untuk {bcd} {a} rendah. Seluruh aturan yang mengandung item a
dalam konsekuen-nya, termasuk {cd}{ab}, {bd}{ac}, {bc}{ad} dan
{d}{abc} dapat dihilangkan.
Pseucode untuk pembangkitan aturan asosiasi dapat dilihat pada Algoritma
5.2 dan 5.3. Perhatikan kesamaan antara prosedur ap-genrules pada Algoritma
5.3 dengan prosedur apriori-gen untuk membangkitkan frequent itemset pada
Algoritma 5.1. Perbedaannya adalah, kita tidak perlu melakukan pembacaan ulang
seluruh dataset untuk menghitung confidence dari aturan kandidat. Tentu saja,
kita menentukan confidence untuk setiap aturan berdasarkan support count yang
telah dihitung selama pembangkitan frequent itemset.
100
101
Tabel 5.3 Atribut biner dari Congressional Voting Record USA tahun 1984
Algoritma Apriori diterapkan pada dataset dengan minsup = 30% dan minconf =
90%. Beberapa aturan dengan confidence tinggi yang berhasil di-ekstrak oleh
algoritma disajikan pada Tabel 5.4.
Tabel 5.4 Aturan asosiasi yang di-ekstrak dari
Congressional Voting Record USA tahun 1984
102
ukuran simetrik bagi itemset {A,B} dapat dilihat pada Tabel 5.5. Sedangkan
contoh ukuran asimetrik bagi aturan AB dapat dilihat pada Tabel 5.6.
Tabel 5.5 Contoh symmetric objective measures bagi itemset {A,B}
103
104
d. Sebuah aturan yang memiliki support yang rendah dan confidence yang
rendah
Jelaskan apakah aturan-aturan demikian dapat dinyatakan sebagai aturan
yang menarik.
Tugas Kelompok
1. Sebuah basis data terdiri dari 5 transaksi, sebagai berikut
TID
T100
T200
T300
T400
T500
Item_yang_dibeli
{Mie, Susu, Mentega, Roti, Saus, Kecap}
{Kopi, Susu, Mentega, Roti, Saus, Kecap}
{Mie, Gula, Roti, Saus }
{Mie, Sirup, Snack, Roti, Kecap}
{Snack, Susu, Susu, Roti, Air Mineral, Saus}
105