Algoritma APriori
3.1 Pendahuluan
Algoritma A Priori termasuk dalam cabang ilmu data mining untuk kategori
assosiasi (Purnia and Warnilah, 2017). Algoritma A Priori merupakan salah satu
algoritma yang digunakan untuk menemukan pola frekuensi tinggi yang sangat
terkenal (Bagus et al., 2018). Pola frekuensi tinggi merupakan pola-pola item di
dalam suatu database yang memiliki frekuensi atau Support di atas ambang
batas tertentu yang disebut dengan istilah minimum Support. Pola frekuensi
tinggi ini digunakan untuk menyusun aturan assosiatif dan juga beberapa teknik
data mining lainnya. Aturan yang menyatakan asosiasi antara beberapa atribut
sering disebut sebagai affinity analysis atau market basket analysis (Panjaitan et
al., 2019).
3.2 Assosiasi
Aturan assosiasi (Association rule) adalah salah satu metode yang ada di data
mining yang bertujuan mencari pola yang sering muncul di antara banyak
transaksi, di mana setiap transaksi terdiri dari beberapa item (Aditya, Marisa and
Purnomo, 2016). Association rule merupakan bagian dari frequent pattern
mining. Frequent pattern mining merupakan salah satu task data mining yang
sangat penting. Task ini mencari hubungan/ relasi, assosiasi, dan korelasi dalam
data (Aribowo, 2015). Tugas assosiasi dalam penambangan data adalah
menemukan atribut yang muncul sekaligus. Dalam dunia bisnis lebih sering
48 Data Mining : Algoritma dan Implementasi
Pecahan transaksi yang terdiri dari suatu itemset. Misal: s ({Milk, Bread,
Diaper}) = 2/5
d) Frequent Itemset (Ф)
Suatu itemset yang memiliki nilai Support lebih tinggi atau sama dengan batas
minimum Support (minsup)
e) Association Rule
Ukuran seberapa sering item dalam y muncul darlam transaksi yang terdiri dari
x.
Contoh:
Tabel 3.1: Contoh aturan assosiasi
Transaksi Items
Transaksi 1 Bread, Milk
Transaksi 2 Bread, Diaper, Beer, Eggs
Transaksi 3 Milk, Diaper, Beer, Coke
Transaksi 4 Bread, Milk, Diaper, Beer
Transaksi 5 Bread, Milk, Diaper, Coke
(Sumber: Data Olahan sendiri)
Misal:
{Milk, Diaper} Beer
(Milk, Diaper, Beer) 2
s 0.4
|T| 5
(Milk,Diaper,Beer) 2
c 0.67
(Milk, Diaper) 3
Tahap ini mencari kombinasi item yang memenuhi syarat minimum dari nilai
Support dalam database. Nilai Support sebuah item diperoleh dengan rumus
berikut:
𝐽𝑢𝑚𝑙𝑎& 𝑡𝑟𝑎𝑛𝑠𝑎𝑘𝑠i 𝑚𝑒𝑛/𝑎𝑛𝑑𝑢𝑛/ 𝐴
Support (A) = (3.1)
𝑇𝑜𝑡𝑎𝑙 𝑡𝑟𝑎𝑛𝑠𝑎𝑘𝑠i
sedangkan nilai Support dari 2 item diperoleh dari rumus 2 berikut:
Support (A, B) = P (A B)
∑ 𝑇𝑟𝑎𝑛𝑠𝑎𝑘𝑠i 𝑚𝑒𝑛/𝑎𝑛𝑑𝑢𝑛/ 𝐴 𝑑𝑎𝑛 𝐵
Support (A, B) = (3.2)
∑ 𝑇𝑟𝑎𝑛𝑠𝑎𝑘𝑠i
Setelah semua pola frekuensi tinggi ditemukan, dicari aturan assosiasi yang
memenuhi syarat minimum untuk confidence dengan menghitung
confidence aturan assosisasi A B. Nilai confidence dari aturan A B
diperoleh darirumus berikut:
∑ 𝑇𝑟𝑎𝑛𝑠𝑎𝑘𝑠i 𝑚𝑒𝑛/𝑎𝑛𝑑𝑢𝑛/ 𝐴 𝑑𝑎𝑛 𝐵
Confidence= P (B|A)= (3.3)
∑ 𝑇𝑟𝑎𝑛𝑠𝑎𝑘𝑠i 𝐴
Sedangkan cara kerja dari Algoritma A Priori sendiri terbagi dari beberapa tahap
yang disebut iterasi. Tahapan tersebut adalah :
1. Pembentukan kandidat itemset, kandidat k-itemset dibentuk dari
kombinasi (k-1)-itemset yang didapat dari iterasi sebelumnya. Satu ciri
dari algoritma A Priori adalah adanya pemangkasan kandidat k-itemset
Bab 3 Asosiasi Data Mining dengan Algoritma A Priori 53
yang subsetnya yang berisi k-1 item tidak termasuk dalam pola
frekuensi tinggi dengan panjang k-1.
2. Perhitungan Support dari tiap kandidat k-itemset. Support dari tiap
kandidat k-itemset didapat dengan menscan database untuk
menghitung jumlah transaksi yang memuat semua item di dalam
kandidat k-itemset tersebut. Ini juga merupakan ciri dari algoritma A
Priori di mana diperlukan perhitungan dengan scan seluruh database
sebanyak k-itemset terpanjang.
3. Tetapkan pola frekuensi tinggi. Pola frekuensi tinggi yang memuat k-
item atau k-itemset ditetapkan dari kandidat k-itemset yang
Supportnya lebih besar dari minimum Support.
4. Bila tidak didapat pola frekuensi tinggi maka seluruh proses
dihentikan. Bila tidak, maka k tambah satu dan kembali ke bagian 1.
T1 0 1 S T1 0 1 S T1 0 1 S
T2 1 0 S T2 0 1 S T2 0 0 S
T3 0 0 S T3 1 1 P T3 1 1 P
T4 1 1 P T4 0 1 S T4 0 1 S
T5 0 1 S T5 0 0 S T5 0 1 S
T6 0 1 S T6 1 1 P T6 1 0 S
T7 1 0 S T7 1 0 S T7 1 1 P
∑ 1 ∑ 2 ∑ 2
T D E Hasil
T1 1 1 P
T2 0 0 S
T3 1 0 S
T4 1 1 P
T5 1 1 P
T6 0 1 S
T7 1 0 S
∑ 3
Dari tabel-tabel 2 unsur di atas, P merupakan item-item yang dijual bersamaan,
sedangkan S merupakan item-item yang dijual secara bersamaan atau tidak
terjadi transaksi. Σ melambangkan jumlah Frequent Itemset (Ф). Jumlah
Frequent Itemset (Ф) harus lebih besar atau sama dengan jumlah Frekuensi item
set (Σ >= Ф). Dari tabel 3.5 di atas, maka didapat:
F2 = {{C,D},{C,E},{D,E}}.
Kombinasi dari itemset dalam F2, dapat kita gabungkan menjadi calon 3-
itemset. Itemset-itemset yang dapat digabungkan adalah itemset-itemset yang
memiliki kesamaan dalam k-1 item pertama.
Untuk k=3 (3 unsur), himpunan yang mungkin terbentuk adalah: {C, D, E}.
Tabel 3.6: himpunan yang mungkin terbentuk untuk k=3 (3 unsur)
T C D E Hasil
1 1 1 1 P
2 1 0 0 S
3 1 1 0 S
4 1 1 1 P
5 0 1 1 S
6 1 0 1 S
7 0 1 0 S
∑ 2
Bab 3 Asosiasi Data Mining dengan Algoritma A Priori 57
Dari tabel 3.5 di atas, didapat F3= { }, karena tidak ada Σ >= Ф sehingga F4,
F5, F6 dan F7 juga merupakan himpunan kosong.
d. Tentukan (ss-s) sebagai antecedent dan s sebagai consequent dari Fk
(frequent itemset of size k) yang telah didapat pada F2. Di mana
himpunan F2= {{C,D},{C,E},{D,E}}
Maka dapat disusun:
1) Untuk {C, D}:
Jika (ss-s) = C, Jika s = D, Maka →If beli C then beli D
Jika (ss-s) = D, Jika s = C, Maka →If beli D then beli C
Misalkan kita tentukan Ф = 2, Dari tabel 3.10 di atas diketahui total Ф untuk
transaksi k=1, semuanya lebih besar dari Ф. Maka:
F1= {{Susu}, {Teh}, {Gula}, {Roti}, {Kopi}}.
Nilai k=1 ≥ Ф.
Untuk k=2 (2 unsur), diperlukan tabel untuk tiap-tiap pasang item. Himpunan
yang mungkin terbentuk adalah {Susu, Teh}, {Susu, Gula}, {Susu, Roti},
{Susu, Kopi}, {The, Gula}, {The, Roti}, {Teh, Kopi}, {Gula, Roti}, {Gula,
Kopi}, {Roti, Kopi}.
Tabel 3.11: himpunan yang mungkin terbentuk untuk k=2 (2 unsur)
T Sus Teh H T Sus Gul H T Sus Roti H
u u a u
T1 1 1 P T1 1 1 P T1 1 0 S
T2 0 1 S T2 0 1 S T2 0 1 S
T3 0 1 S T3 0 1 S T3 0 0 S
T4 1 0 S T4 1 0 S T4 1 1 P
T5 1 0 S T5 1 1 P T5 1 1 P
T6 0 1 S T6 0 1 S T6 0 0 S
T7 1 0 S T7 1 1 P T7 1 0 S
T8 1 0 S T8 1 1 P T8 1 0 S
T9 1 0 S T9 1 0 S T9 1 1 P
Bab 3 Asosiasi Data Mining dengan Algoritma A Priori 61
T1 0 1 S T1 0 1 S T1 0 0 S
0 0 0
∑ 1 ∑ 4 ∑ 3
T Roti Kop H
i
T1 0 0 S
T2 1 0 S
T3 0 0 S
T4 1 0 S
T5 1 0 S
T6 0 0 S
T7 0 1 S
T8 0 1 S
T9 1 1 P
T1 0 1 S
0
∑ 1
Dari tabel-tabel 2 unsur di atas, P merupakan item-item yang dijual bersamaan,
sedangkan S merupakan item-item yang dijual secara bersamaan atau tidak
terjadi transaksi. Σ melambangkan jumlah Frequent Itemset (Ф). Jumlah
Frequent Itemset (Ф) harus lebih besar atau sama dengan jumlah Frekuensi item
set (Σ >= Ф). Dari tabel 3.11 di atas, maka didapat:
F2= {{Teh, Gula}, {Susu, Gula}, {Susu, Roti}, {Susu, Kopi}, {Gula, Kopi},
{Gula, Roti}}
Kombinasi dari itemset dalam F2, dapat kita gabungkan menjadi calon 3-
itemset. Itemset-itemset yang dapat digabungkan adalah itemset-itemset yang
memiliki kesamaan dalam k-1 item pertama.
Untuk k=3 (3 unsur), himpunan yang mungkin terbentuk adalah: {Teh, Gula,
Susu, Roti, Kopi}.
Tabel 3.12: himpunan yang mungkin terbentuk untuk k=3 (3 unsur)
T Teh Gula Susu Hasil T Teh Gula Roti Hasil
T1 1 1 1 P T1 1 1 0 S
T2 1 1 0 S T2 1 1 1 S
T3 1 1 0 S T3 1 1 0 S
T4 0 0 1 S T4 0 0 1 S
Bab 3 Asosiasi Data Mining dengan Algoritma A Priori 63
T5 0 1 1 S T5 0 1 1 S
T6 1 1 0 S T6 1 1 0 S
T7 0 1 1 S T7 0 1 0 S
T8 0 1 1 S T8 0 1 0 S
T9 0 0 1 S T9 0 0 1 S
T10 1 1 0 S T10 1 1 0 S
∑ 1 ∑ 1
T10 1 0 1 S T10 1 0 1 S
∑ 0 ∑ 0
Jika (ss-s) = Kopi dan Susu, Jika s = Kopi, Maka →If beli Kopi and
Susu then beli Gula
5. Dari langkah di atas, maka kita memperoleh 12 rule untuk F2 dan 3 rule
untuk F3 yang dapat digunakan:
If beli Teh then beli Gula
If beli Gula then beli Teh
If beli Susu then beli Gula
If beli Gula then beli Susu
If beli Susu then beli Roti
If beli Roti then beli Susu
If beli Susu then beli Kopi
If beli Kopi then beli Susu
If beli Gula then beli Kopi
If beli Kopi then beli Gula
If beli Gula then beli Roti
If beli Roti then beli Gula
If beli Gula and Susu then beli Kopi
If beli Gula and Kopi then beli Susu
If beli Kopi and Susu then beli Gula
6. Hitung support dan confidence dengan menggunakan rumus 3.2 dan 3.3
seperti pada tabel 3.13 berikut:
Tabel 3.13: Perhitungan support dan confidence
If antecedent then consequent Support confidence
If beli Teh then beli Gula (5/10)x100%=50% (5/5)x100%=100%
dari hasil ke-8 penjualan bernilai sama, maka ke-8 penjualan dapat
dijadikan rule.
a) If beli Teh then beli Gula dengan support 50% dan confidence
100%.
b) If beli Gula then beli The dengan support 50% dan confidence
62,5%.
c) If beli Susu then beli Gula dengan support 40% dan confidence
66,7%.
d) If beli Roti then beli Susu dengan support 30% dan confidence
75%.
e) If beli Kopi then beli Susu dengan support 30% dan confidence
75%.
f) If beli Kopi then beli Gula dengan support 30% dan confidence
75%.
g) If beli Gula and Kopi then beli Susu dengan support 20% dan
confidence 66,7%.
h) If beli Kopi and Susu then beli Gula dengan support 20% dan
confidence 66,7%.