Anda di halaman 1dari 18

MODUL DATA MINING

(CTI311)

MODUL 4
PENAMBANGAN ASOSIASI POLA
(ASSOCIATION PATTERN MINING)

DISUSUN OLEH
AGUNG MULYO WIDODO, ST, M.Sc.

UNIVERSITAS ESA UNGGUL


2021

https://esaunggul.ac.id Page 1 of 18 Revisi/Tgl. ( 0 / 01-09-2021 )


TOPIK PERKULIAHAN SESUAI RPS

A. Kemampuan Akhir Yang Diharapkan


Setelah mempelajari modul ini, diharapkan mahasiswa mampu :

1. Mahasiswa mampu memahami menguasai model penambangan pola frequent.


2. Mahasiswa mampu memahami menguasai konsep kerangka pembuatan aturan
asosiasi.
3. Mahasiswa mampu memahami menguasai konsep algoritma penambangan itemset
frequent.

B. Uraian dan Contoh

4.1 Introduksi

Masalah klasik penambangan pola asosiasi didefinisikan dalam konteks data


supermarket yang berisi kumpulan barang yang dibeli oleh pelanggan, yang disebut sebagai
transaksi.

Tujuannya adalah untuk menentukan hubungan antara kelompok item yang dibeli oleh
pelanggan, yang secara intuitif dapat dilihat sebagai korelasi k-way antar item. Model paling
populer untuk penambangan pola asosiasi menggunakan frekuensi set item sebagai
kuantifikasi tingkat asosiasi. Kumpulan item yang ditemukan disebut sebagai kumpulan
item besar, kumpulan item yang sering, atau pola yang sering. Masalah penambangan pola
asosiasi memiliki berbagai macam aplikasi:

1 Data supermarket: Aplikasi supermarket adalah skenario motivasi awal di mana


masalah penambangan pola asosiasi diusulkan. Ini juga alasan mengapa istilah itemset
digunakan untuk merujuk pada pola yang sering terjadi dalam konteks barang
supermarket yang dibeli oleh pelanggan. Penentuan frequent itemsets memberikan
wawasan yang berguna tentang target pemasaran dan penempatan rak item.
2 Penambangan teks: Karena data teks sering direpresentasikan dalam model bag-of-
words, penambangan pola yang sering dapat membantu dalam mengidentifikasi istilah
dan kata kunci yang muncul bersamaan. Istilah co-occurring seperti itu memiliki banyak
aplikasi penambangan teks.

https://esaunggul.ac.id Page 2 of 18 Revisi/Tgl. ( 0 / 01-09-2021 )


3 Generalisasi ke tipe data berorientasi ketergantungan (dependency-oriented data types):
Model penambangan pola frequent asli telah digeneralisasi ke banyak tipe data
berorientasi ketergantungan, seperti data deret waktu, data sekuensial, data spasial, dan
data grafik, dengan beberapa modifikasi. Model seperti itu berguna dalam aplikasi
seperti analisis log Web, deteksi bug perangkat lunak, dan deteksi peristiwa spatio-
temporal.
4 Masalah penambangan data utama lainnya: Penambangan pola yang sering dapat
digunakan sebagai subrutin untuk memberikan solusi efektif untuk banyak masalah
penambangan data seperti pengelompokan, klasifikasi, dan analisis outlier.

Karena masalah penambangan pola yang sering pada awalnya diusulkan dalam konteks data
keranjang pasar, sejumlah besar terminologi yang digunakan untuk menggambarkan data
(misalnya, transaksi) dan output (misalnya, itemset) dipinjam dari analogi supermarket.

Dari perspektif aplikasi-netral, pola yang sering dapat didefinisikan sebagai subset
yang sering, yang didefinisikan pada alam semesta dari semua set yang mungkin. Namun
demikian, karena terminologi keranjang pasar telah digunakan secara populer, bab ini akan
konsisten dengannya.

Kumpulan item yang sering dapat digunakan untuk menghasilkan aturan asosiasi
dalam bentuk X Y , di mana X dan Y adalah himpunan item. Contoh terkenal dari aturan
asosiasi, yang sekarang telah menjadi bagian 1 dari cerita rakyat penambangan data, adalah
{𝐵𝑒𝑒𝑟} ⟹ {𝐷𝑖𝑎𝑝𝑒𝑟𝑠}. Aturan ini menunjukkan bahwa membeli bir membuat popok juga
lebih mungkin dibeli. Dengan demikian, ada arah tertentu pada implikasi yang
dikuantifikasi sebagai probabilitas bersyarat. Aturan asosiasi sangat berguna untuk berbagai
aplikasi target pasar. Misalnya, jika pemilik supermarket menemukan bahwa
{𝐸𝑔𝑔, 𝑀𝑖𝑙𝑘} ⟹ {𝑌𝑜𝑔𝑢𝑟𝑡} adalah aturan asosiasi, dia dapat mempromosikan yogurt kepada
pelanggan yang sering membeli telur dan susu. Sebagai alternatif, pemilik supermarket
dapat menempatkan yogurt di rak yang terletak di dekat telur dan susu.

Model berbasis frekuensi untuk penambangan pola asosiasi sangat populer karena
kesederhanaannya. Namun, frekuensi mentah dari suatu pola tidak sama dengan
signifikansi statistik dari korelasi yang mendasarinya. Oleh karena itu, banyak model untuk
penambangan pola yang frequent telah diusulkan yang didasarkan pada signifikansi statistik.

https://esaunggul.ac.id Page 3 of 18 Revisi/Tgl. ( 0 / 01-09-2021 )


Bab ini juga akan mengeksplorasi beberapa model alternatif ini, yang juga disebut sebagai
pola yang menarik.

Bab ini disusun sebagai berikut. Bagian 4.2 memperkenalkan model dasar untuk
penambangan pola asosiasi. Pembuatan aturan asosiasi dari frequent itemset dibahas di
bagian. 4.3. Berbagai algoritma untuk penambangan pola sering dibahas di bagian. 4.4.

Ini termasuk algoritma Apriori, sejumlah algoritma pohon enumerasi, dan pendekatan
rekursif berbasis akhiran. Metode untuk menemukan pola frekuensi yang menarik dibahas
di bagian 4.5. Meta-algoritma untuk penambangan pola yang sering dibahas di bagian 4.6.

4.3 Model Penambangan Pola yang Frequent

Masalah penambangan pola asosiasi secara alami didefinisikan pada data set yang tidak
berurutan.

Diasumsikan bahwa database T berisi satu set n transaksi, dilambangkan dengan 𝑇1 … 𝑇𝑛 .


Setiap transaksi 𝑇𝑖 digambar pada semesta item U dan juga dapat direpresentasikan sebagai
catatan dimensi multidimensi, 𝑑 = |𝑈|, yang hanya berisi atribut biner.

Setiap atribut biner dalam catatan ini mewakili item tertentu. Nilai atribut dalam catatan
ini adalah 1 jika item tersebut ada dalam transaksi, dan 0 jika tidak. Dalam pengaturan
praktis, semesta item U sangat besar dibandingkan dengan jumlah tipikal item dalam setiap
transaksi 𝑇𝑖 . Misalnya, database supermarket mungkin memiliki puluhan ribu item, dan satu
transaksi biasanya berisi kurang dari 50 item. Properti ini sering dimanfaatkan dalam desain
algoritma penambangan pola yang frequent.

Itemset adalah kumpulan item. Sebuah k-itemset adalah sebuah itemset yang berisi tepat
k item. Dengan kata lain, himpunan k-item adalah himpunan item yang memiliki
kardinalitas k. Fraksi transaksi di 𝑇1 … 𝑇𝑛 di mana sebuah itemset muncul sebagai subset

https://esaunggul.ac.id Page 4 of 18 Revisi/Tgl. ( 0 / 01-09-2021 )


memberikan kuantifikasi yang jelas dari frekuensinya. Frekuensi ini juga dikenal sebagai
support.

Dukungan dari itemset I dilambangkan dengan sup(𝐼). Jelas, item yang berkorelasi akan
sering terjadi bersama-sama dalam transaksi. Itemset seperti itu akan memiliki dukungan
yang tinggi. Oleh karena itu, masalah penambangan pola yang sering terjadi adalah
penentuan itemset yang memiliki tingkat dukungan minimum (minimum support) yang
diperlukan.

Fraksi 𝑚𝑖𝑛𝑠𝑢𝑝 yang telah ditentukan sebelumnya disebut sebagai minimum support.
Sementara konvensi default dalam buku ini adalah untuk mengasumsikan bahwa 𝑚𝑖𝑛𝑠𝑢𝑝
mengacu pada nilai pecahan relatif, kadang-kadang juga ditentukan sebagai nilai mutlak
integer dalam hal jumlah mentah dari transaksi. Bab ini akan selalu mengasumsikan
konvensi nilai relatif, kecuali ditentukan lain. Pola yang sering juga disebut sebagai frequent
itemset, atau large itemset. Modul ini akan menggunakan istilah-istilah ini secara bergantian.

Pengidentifikasi unik suatu transaksi disebut sebagai pengidentifikasi transaksi


(transaction identifier), atau singkatnya 𝑡𝑖𝑑. Masalah penambangan item yang sering juga
dapat dinyatakan secara lebih umum dalam bentuk set.

Seperti yang dibahas dalam Bab. 1, data multidimensi biner dan data set setara. Kesetaraan
ini karena setiap atribut multidimensi dapat mewakili elemen set (atau item). Nilai 1 untuk
atribut multidimensi sesuai dengan penyertaan dalam set (atau transaksi). Oleh karena itu,
set data transaksi (atau set set) juga dapat direpresentasikan sebagai database biner
multidimensi yang dimensinya sama dengan jumlah item.

https://esaunggul.ac.id Page 5 of 18 Revisi/Tgl. ( 0 / 01-09-2021 )


Perhatikan transaksi yang diilustrasikan pada Tabel 4.1. Setiap transaksi dikaitkan dengan
pengidentifikasi transaksi unik di kolom paling kiri, dan berisi sekeranjang barang yang
dibeli bersamaan pada waktu yang sama. Kolom kanan pada Tabel 4.1 berisi representasi
multidimensi biner dari keranjang yang sesuai. Atribut representasi biner ini disusun dalam
urutan {𝐵𝑟𝑒𝑎𝑑, 𝐵𝑢𝑡𝑡𝑒𝑟, 𝐶ℎ𝑒𝑒𝑠𝑒, 𝐸𝑔𝑔, 𝑀𝑖𝑙𝑘, 𝑌𝑜𝑔𝑢𝑟𝑡} . Di dalam database 5 transaksi ini,
dukungan {𝐵𝑟𝑒𝑎𝑑, 𝑀𝑖𝑙𝑘} adalah 2/5 = 0,4 karena kedua item dalam keranjang ini terjadi
pada 2 dari total 5 transaksi. Demikian pula, dukungan {𝐶ℎ𝑒𝑒𝑠𝑒, 𝑌𝑜𝑔𝑢𝑟𝑡} adalah 0,2 karena
hanya muncul di transaksi terakhir. Oleh karena itu, jika minimum support diatur ke 0,3,
maka itemset {𝐵𝑟𝑒𝑎𝑑, 𝑀𝑖𝑙𝑘}} akan dilaporkan tetapi bukan itemset {𝐶ℎ𝑒𝑒𝑠𝑒, 𝑌𝑜𝑔𝑢𝑟𝑡}.

Jumlah frequent itemset umumnya sangat sensitif terhadap level support minimum.
Pertimbangkan kasus di mana level minimum support 0,3 digunakan. Setiap item Bread,
Milk, Egg, Cheese, dan Yogurt terjadi di lebih dari 2 transaksi, dan oleh karena itu dapat
dianggap sebagai item yang sering muncul pada level minimum support 0,3. Item ini sering
menjadi 1-itemset. Faktanya, satu-satunya item yang tidak sering muncul di level minimum
support 0,3 adalah Butter. Selanjutnya, 2-itemset yang sering muncul pada level minimum
support 0,3 adalah {𝐵𝑟𝑒𝑎𝑑, 𝑀𝑖𝑙𝑘} , {𝐸𝑔𝑔𝑠, 𝑀𝑖𝑙𝑘} , {𝐶ℎ𝑒𝑒𝑠𝑒, 𝑀𝑖𝑙𝑘} , {𝐸𝑔𝑔𝑠, 𝑌𝑜𝑔𝑢𝑟𝑡} , dan
{𝑀𝑖𝑙𝑘, 𝑌𝑜𝑔𝑢𝑟𝑡}. Satu-satunya 3-itemset yang dilaporkan pada level minimum support 0,3
adalah {𝐸𝑔𝑔𝑠, 𝑀𝑖𝑙𝑘, 𝑌𝑜𝑔𝑢𝑟𝑡} . Di sisi lain, jika level minimum support diatur ke 0,2, itu
sesuai dengan nilai dukungan absolut (absolut support) hanya 1. Dalam kasus seperti itu,
setiap subset dari setiap transaksi akan dilaporkan. Oleh karena itu, penggunaan level
minimum suppo yang lebih rendah menghasilkan jumlah pola frekuensi yang lebih besar.
Di sisi lain, jika level support terlalu tinggi, maka tidak akan ada pola yang sering ditemukan.
Oleh karena itu, pilihan yang tepat dari tingkat dukungan sangat penting untuk menemukan
satu pola set yang frequent dengan ukuran yang berarti.

Ketika sebuah itemset I terkandung dalam suatu transaksi, semua subsetnya juga akan
terkandung dalam transaksi tersebut. Oleh karena itu, support dari setiap subset J dari I akan
selalu setidaknya sama dengan support dari I. Properti ini disebut sebagai properti support
monotonicity.

https://esaunggul.ac.id Page 6 of 18 Revisi/Tgl. ( 0 / 01-09-2021 )


Sifat monotonicity dari support menyiratkan bahwa setiap subset dari frequent itemset juga
akan menjadi frequent. Ini disebut sebagai properti downward closure.

Properti downward closure dari pola yang frequent secara algoritmik sangat nyaman karena
memberikan batasan penting pada struktur yang melekat pada pola yang sering. Batasan ini
sering dimanfaatkan oleh algoritma penambangan pola yang sering untuk memangkas
proses pencarian dan mencapai efisiensi yang lebih besar. Selanjutnya, properti downward
closure dapat digunakan untuk membuat representasi ringkas dari pola yang sering, di mana
hanya subset frekuensi maksimal yang dipertahankan.

Pada contoh Tabel 4.1, itemset {𝐸𝑔𝑔𝑠, 𝑀𝑖𝑙𝑘, 𝑌𝑜𝑔𝑢𝑟𝑡} adalah itemset frequent maksimal pada
level minimum support 0,3. Namun, itemset {𝐸𝑔𝑔𝑠, 𝑀𝑖𝑙𝑘} belum maksimal karena memiliki
superset yang juga frequent. Selanjutnya, himpunan pola frekuensi maksimum pada level
dukungan minimum 0,3 adalah {𝐵𝑟𝑒𝑎𝑑, 𝑀𝑖𝑙𝑘} , {𝐶ℎ𝑒𝑒𝑠𝑒, 𝑀𝑖𝑙𝑘} dan {𝐸𝑔𝑔𝑠, 𝑀𝑖𝑙𝑘, 𝑌𝑜𝑔𝑢𝑟𝑡}.
Jadi, hanya ada 3 frequent itemset maksimal, sedangkan jumlah frequent itemset di seluruh
database transaksi adalah 11.

https://esaunggul.ac.id Page 7 of 18 Revisi/Tgl. ( 0 / 01-09-2021 )


Semua frequent itemset dapat diturunkan dari pola maksimal dengan menghitung subset
dari frequent maksimal pola. Oleh karena itu, pola maksimal dapat dianggap sebagai
representasi ringkas dari pola yang sering. Namun, representasi condesed ini tidak
menyimpan informasi tentang nilai dukungan dari himpunan bagian. Misalnya, dukungan
{𝐸𝑔𝑔𝑠, 𝑀𝑖𝑙𝑘, 𝑌𝑜𝑔𝑢𝑟𝑡} adalah 0,4, tetapi tidak memberikan informasi apa pun tentang
dukungan {𝐸𝑔𝑔𝑠, 𝑀𝑖𝑙𝑘} }, yaitu 0,6. Sebuah representasi condesed yang berbeda, disebut
sebagai itemset closed frequent, mampu menyimpan informasi dukungan juga. Gagasan
tentang kumpulan item yang sering tertutup akan dipelajari secara rinci dalam Bab. 5.

Sebuah properti yang menarik dari itemset adalah bahwa mereka dapat disusun secara
konseptual dalam bentuk kisi itemset (lattice of itemsets). Kisi ini berisi satu simpul untuk
masing-masing 2|𝑈| set yang diambil dari semesta item U. Sebuah tepi (edge) ada di antara
sepasang node, jika set yang sesuai berbeda dengan tepat satu item. Contoh kisi itemset
dengan ukuran 25 = 32 pada semesta yang terdiri dari 5 item diilustrasikan pada Gambar
4.1. Kisi mewakili ruang pencarian pola frequent. Semua algoritma penambangan pola
frequent, secara implisit atau eksplisit, melintasi ruang pencarian ini untuk menentukan pola
pola frequent.

Kisi-kisi tersebut dipisahkan menjadi kumpulan item frequent dan infrequent oleh sebuah
batas (border), yang diilustrasikan oleh garis putus-putus pada Gambar. 4.1. Semua set item
di atas perbatasan ini sering terjadi, sedangkan yang di bawah perbatasan jarang terjadi.
Perhatikan bahwa semua kumpulan item frekuensi maksimum berdekatan dengan batas
kumpulan item ini. Selanjutnya, setiap batas yang valid mewakili pembagian yang benar
antara itemset frequent dan infrequent akan selalu menghormati properti properti downward
closure.

4.3 Kerangka Kerja Pembuatan Aturan Asosiasi

Itemset frequent dapat digunakan untuk menghasilkan aturan asosiasi, dengan


penggunaan ukuran yang dikenal sebagai confidence. Keyakinan dari suatu aturan 𝑋 ⟹ 𝑌
adalah probabilitas bersyarat bahwa suatu transaksi mengandung himpunan item Y , jika
mengandung himpunan X. Probabilitas ini diperkirakan dengan membagi dukungan dari
itemset 𝑋 ∪ 𝑌 dengan dukungan dari itemset X

https://esaunggul.ac.id Page 8 of 18 Revisi/Tgl. ( 0 / 01-09-2021 )


Itemset X dan Y masing-masing dikatakan sebagai anteseden dan konsekuen dari aturan.
Dalam kasus Tabel 4.1, dukungan {𝐸𝑔𝑔𝑠, 𝑀𝑖𝑙𝑘} adalah 0,6, sedangkan dukungan
{𝐸𝑔𝑔𝑠, 𝑀𝑖𝑙𝑘, 𝑌𝑜𝑔𝑢𝑟𝑡} adalah 0,4. Oleh karena itu, kepercayaan dari aturan {𝐸𝑔𝑔𝑠, 𝑀𝑖𝑙𝑘} ⟹
{𝐸𝑔𝑔𝑠, 𝑀𝑖𝑙𝑘, 𝑌𝑜𝑔𝑢𝑟𝑡} adalah (0,4/0,6) = 2/3.

Seperti dalam hal dukungan, minconf ambang batas kepercayaan minimum dapat
digunakan untuk menghasilkan aturan asosiasi yang paling relevan. Aturan asosiasi
didefinisikan menggunakan kriteria support dan confidence.

Kerangka keseluruhan untuk pembuatan aturan asosiasi menggunakan dua fase. Fase-fase
ini sesuai dengan dua kriteria dalam Definisi 4.3.2, yang mewakili batasan dukungan dan
keyakinan.

1. Pada fase pertama, semua frequent itemset dibangkitkan pada minimum support,
minsup.
2. Pada fase kedua, aturan asosiasi dibangkitkan dari frequent itemset pada tingkat
kepercayaan minimum, minconf.

Fase pertama lebih intensif secara komputasi dan, oleh karena itu, merupakan bagian yang
lebih menarik dari proses. Fase kedua relatif mudah. Oleh karena itu, pembahasan fase
pertama akan ditunda ke bagian selanjutnya dari bab ini, dan diskusi singkat tentang fase
kedua (yang lebih lugas) disediakan di sini.

https://esaunggul.ac.id Page 9 of 18 Revisi/Tgl. ( 0 / 01-09-2021 )


Asumsikan bahwa satu set frequent itemsets ℱ disediakan. Untuk setiap himpunan item 𝐼 ∈
ℱ cara sederhana untuk menghasilkan aturan adalah dengan mempartisi himpunan I
menjadi semua kemungkinan kombinasi himpunan 𝑋 dan 𝑌 = 𝐼 − 𝑋 , sehingga 𝐼 = 𝑋 ∪ 𝑌 .
Keyakinan dari setiap aturan 𝑋 ⟹ 𝑌 kemudian dapat ditentukan, dan dapat dipertahankan
jika memenuhi persyaratan kepercayaan minimum mincof. Aturan asosiasi juga memenuhi
properti confidence monotonicity.

Properti ini mengikuti langsung dari definisi kepercayaan dan properti dukungan monoton.
Perhatikan aturan{𝐵𝑟𝑒𝑎𝑑} ⟹ {𝐵𝑢𝑡𝑡𝑒𝑟, 𝑀𝑖𝑙𝑘} dan {𝐵𝑟𝑒𝑎𝑑, 𝐵𝑢𝑡𝑡𝑒𝑟} ⟹ {𝑀𝑖𝑙𝑘}. Aturan kedua
berlebihan (redundant) sehubungan dengan yang pertama karena akan memiliki support
yang sama, tetapi confidence yang tidak kurang dari yang pertama. Karena confidence
monotonicity, dimungkinkan untuk melaporkan hanya aturan yang tidak berlebihan (non-
redundant).

4.4 Algoritma Penambangan Itemset yang Frequent

Pada bagian ini, sejumlah algoritma populer untuk pembangkitan frequent itemset akan
dibahas. Karena ada sejumlah besar algoritma penambangan itemset yang sering, fokus bab
ini adalah membahas algoritma tertentu yakni Brute force dan Apriori secara rinci untuk
memperkenalkan pada anda, trik kunci dalam desain algoritmik.

4.4.1 Algoritma Brute Force

Untuk semesta item U, ada total 2|𝑈| − 1 himpunan bagian yang berbeda, tidak
termasuk himpunan kosong. Semua 25 himpunan bagian untuk semesta yang terdiri dari 5
item diilustrasikan pada Gambar 4.1. Oleh karena itu, satu kemungkinan adalah
membangkitkan semua candidate itemset ini, dan menghitung support-nya terhadap basis
data transaksi 𝜏. Dalam literatur frequent itemset mining, istilah candidate itemset biasanya
digunakan untuk merujuk pada itemset yang mungkin frequent (atau kandidat untuk
menjadi frequent). Kandidat ini perlu diverifikasi terhadap database transaksi dengan
penghitungan support. Untuk menghitung support dari itemset, kita perlu memeriksa
apakah itemset I yang diberikan adalah subset dari setiap transaksi 𝜏𝑖 ∈ 𝜏. Pendekatan

https://esaunggul.ac.id Page 10 of 18 Revisi/Tgl. ( 0 / 01-09-2021 )


menyeluruh seperti itu mungkin tidak praktis, ketika semesta item U besar. Pertimbangkan
kasus di mana d = |U| = 1000. Dalam hal ini, ada total21000 > 10300 kandidat.

Untuk menempatkan angka ini dalam perspektif, jika komputer tercepat yang tersedia saat
ini entah bagaimana mampu memproses satu kandidat dalam satu siklus mesin dasar, maka
waktu yang dibutuhkan untuk memproses semua kandidat akan menjadi ratusan kali lipat
lebih besar dari usia alam semesta. Oleh karena itu, ini bukan solusi praktis.

Tentu saja, seseorang dapat membuat pendekatan brute force lebih cepat dengan mengamati
bahwa tidak ada pola (k + 1) yang frequent terjadi jika tidak ada pola-k yang frequent.
Pengamatan ini mengikuti langsung dari properti downward closure. Oleh karena itu,
seseorang dapat mengenumerasi dan menghitung support dari semua pola dengan
bertambahnya panjang. Dengan kata lain, seseorang dapat menghitung dan menghitung
dukungan dari semua pola yang mengandung satu item, dua item, dan seterusnya, sampai
untuk panjang l tertentu, tidak ada kandidat dengan panjang l yang menjadi frequent. Untuk
basis data transaksi yang jarang, nilai l biasanya sangat kecil dibandingkan dengan |U|. Pada
titik ini, seseorang dapat mengakhiri. Ini merupakan peningkatan yang signifikan dari
|𝑈|
pendekatan sebelumnya karena memerlukan penghitungan ∑𝑙𝑖=1 ( ) ≪ 2|𝑈| kandindat.
𝑖
Karena frequent itemset terpanjang memiliki panjang yang jauh lebih kecil dari |U| dalam
basis data transaksi yang jarang, pendekatan ini lebih cepat.

Namun, kompleksitas komputasi yang dihasilkan masih belum memuaskan untuk nilai U
|𝑈|
yang besar. Misalnya, saat |U| = 1000 dan l = 10, nilai ∑10
𝑖=1 ( ) ≪ 2|𝑈| adalah orde 1023 .
𝑖

Nilai ini masih cukup besar dan di luar kemampuan komputasi yang wajar tersedia saat ini.

Satu pengamatan adalah bahwa bahkan aplikasi yang sangat kecil dan agak tumpul dari
properti penutupan ke bawah membuat algoritme ratusan kali lipat lebih cepat. Banyak
algoritma cepat untuk pembuatan itemset menggunakan properti penutupan ke bawah
dengan cara yang lebih halus, baik untuk menghasilkan kandidat dan memangkasnya
sebelum menghitung. Algoritma untuk pencarian pola yang sering mencari kisi
kemungkinan (atau kandidat) untuk pola yang frequent (lihat Gambar 4.1) dan gunakan
database transaksi untuk menghitung support kandidat dalam kisi ini. Efisiensi yang lebih
baik dapat dicapai dalam algoritma penambangan pola yang sering dengan menggunakan
satu atau lebih pendekatan berikut:

https://esaunggul.ac.id Page 11 of 18 Revisi/Tgl. ( 0 / 01-09-2021 )


1. Mengurangi ukuran ruang pencarian yang dieksplorasi (kisi pada Gbr.4.1) dengan
memangkas kandidat itemset (node kisi) menggunakan trik, seperti properti penutupan
ke bawah.
2. Menghitung dukungan dari masing-masing kandidat secara lebih efisien dengan
memangkas transaksi yang diketahui tidak relevan untuk menghitung kandidat itemset.
3. Menggunakan struktur data yang kompak untuk mewakili kandidat atau database
transaksi yang mendukung penghitungan yang efisien.

Algoritma pertama yang menggunakan pemangkasan efektif dari ruang pencarian dengan
menggunakan properti downward closure adalah algoritma Apriori.

4.4.2 Algoritma Apriori

Algoritma Apriori menggunakan properti downward closure untuk memangkas ruang


pencarian kandidat. Properti properti downward closure memaksakan struktur yang jelas
pada kumpulan pola frequent. Secara khusus, informasi tentang frekuensi itemset dapat
dimanfaatkan untuk menghasilkan kandidat superset dengan lebih hati-hati. Jadi, jika
sebuah itemset jarang, tidak ada gunanya menghitung dukungan dari kandidat supersetnya.
Hal ini berguna untuk menghindari pemborosan penghitungan level support dari itemset
yang diketahui infrequent.

Algoritma Apriori menghasilkan kandidat dengan panjang k yang lebih kecil terlebih
dahulu dan menghitung dukungannya sebelum menghasilkan kandidat dengan panjang (k
+1). K-itemset yang dihasilkan sering digunakan untuk membatasi jumlah (k + 1)-kandidat
dengan properti downward closure. Generasi kandidat dan penghitungan dukungan pola
dengan panjang yang bertambah disisipkan di Apriori. Karena penghitungan support
kandidat adalah bagian paling mahal dari proses pembuatan pola frequent, sangat penting
untuk menjaga jumlah kandidat tetap rendah.

Untuk memudahkan deskripsi algoritma, akan diasumsikan bahwa item di U memiliki


urutan leksikografis, dan oleh karena itu itemset {𝑎, 𝑏, 𝑐, 𝑑} dapat diperlakukan sebagai
item string 𝑎, 𝑏, 𝑐, 𝑑 (terurut secara leksikografis). Ini dapat digunakan untuk memaksakan
pemesanan di antara itemset (pola), yang sama dengan urutan string yang sesuai akan
muncul dalam kamus.

https://esaunggul.ac.id Page 12 of 18 Revisi/Tgl. ( 0 / 01-09-2021 )


Algoritma Apriori dimulai dengan menghitung dukungan dari masing-masing item
untuk menghasilkan 1-itemset yang sering. 1-itemset digabungkan untuk membuat kandidat
2-itemsets, yang supportnya dihitung. 2-itemset yang frequent dipertahankan. Secara umum,
frequent itemsets dengan panjang k digunakan untuk menghasilkan kandidat panjang (k +
1) untuk meningkatkan nilai k. Algoritma yang menghitung support kandidat dengan
panjang yang bertambah disebut sebagai algoritma level-bijaksana. Misalkan ℱ𝑘
menyatakan himpunan frequent k-itemsets, dan 𝒞𝑘 menyatakan himpunan calon k-itemsets.
Inti dari pendekatan ini adalah untuk secara iteratif membangkitkan (k+1)-kandidat 𝒞𝑘+1
dari frequent k-itemsets di ℱ𝑘 yang sudah ditemukan oleh algoritma. Frekuensi (k+1)-
kandidat ini dihitung sehubungan dengan basis data transaksi. Saat menghasilkan kandidat
(k +1), ruang pencarian dapat dipangkas dengan memeriksa apakah semua k-subset dari
𝒞𝑘+1 termasuk dalam ℱ𝑘 . Jadi, bagaimana cara menghasilkan (k+1)-kandidat yang relevan
di 𝒞𝑘+1 dari pola-k yang sering di ℱ𝑘 ?

Jika sepasang itemset X dan Y dalam ℱ𝑘 memiliki (k-1) item yang sama, maka
gabungan di antara mereka menggunakan item umum (k-1) akan membuat kandidat itemset
berukuran (k +1). Misalnya, dua 3-itemset {𝑎, 𝑏, 𝑐} (atau 𝑎𝑏𝑐 untuk pendek) dan {𝑎, 𝑏, 𝑑}
(atau 𝑎𝑏𝑑 untuk pendek), ketika bergabung bersama pada dua item umum 𝑎 dan 𝑏, akan
menghasilkan kandidat 4-itemset 𝑎𝑏𝑐𝑑.

Tentu saja, adalah mungkin untuk bergabung dengan pola frekuensi lain untuk
membuat kandidat yang sama. Seseorang mungkin juga bergabung dengan 𝑎𝑏𝑐 dan 𝑏𝑐𝑑
untuk mencapai hasil yang sama. Misalkan keempat dari 3-subset 𝑎𝑏𝑐𝑑 hadir dalam
himpunan 3-itemset yang frequent. Seseorang dapat membuat kandidat 4-itemset dalam
4
( ) = 6 cara berbeda. Untuk menghindari redundansi dalam pembuatan kandidat,
2
konvensinya adalah memaksakan urutan leksikografis pada item dan menggunakan item
pertama (k-1) dari itemset untuk bergabung. Jadi, dalam kasus ini, satu-satunya cara untuk
menghasilkan 𝑎𝑏𝑐𝑑 adalah dengan menggabungkan menggunakan dua item pertama 𝑎 dan
𝑏 . Oleh karena itu, itemset 𝑎𝑏𝑐 dan 𝑎𝑏𝑑 perlu digabungkan untuk membuat 𝑎𝑏𝑐𝑑 .
Perhatikan bahwa, jika salah satu dari 𝑎𝑏𝑐 dan 𝑎𝑏𝑑 infrequent, maka 𝑎𝑏𝑐𝑑 tidak akan
dihasilkan sebagai kandidat menggunakan pendekatan join ini. Selanjutnya, dalam kasus
seperti itu, dipastikan bahwa 𝑎𝑏𝑐𝑑 tidak akan sering karena properti downward closure dari
kumpulan item yang frequent. Dengan demikian properti downward closure memastikan

https://esaunggul.ac.id Page 13 of 18 Revisi/Tgl. ( 0 / 01-09-2021 )


bahwa himpunan kandidat yang dihasilkan menggunakan pendekatan ini tidak melewatkan
setiap itemset yang benar-benar frequent terjadi. Cara menghasilkan kandidat yang tidak
berulang dan lengkap ini dapat ditafsirkan dalam konteks hierarki konseptual dari pola yang
dikenal sebagai pohon enumerasi (tidak dibahas pada modul ini). Hal lain yang perlu
diperhatikan adalah bahwa penggabungan biasanya dapat dilakukan dengan sangat efisien.
Efisiensi ini karena, jika himpunan ℱ𝑘 diurutkan dalam urutan leksikografis (kamus),
semua himpunan item dengan himpunan item yang sama pada posisi k-1 pertama akan
muncul secara berurutan, memungkinkan mereka untuk ditemukan dengan mudah.

Trik pemangkasan (pruning trick) level-bijaksana dapat digunakan untuk lebih


mengurangi ukuran set kandidat (k+1). Semua k-subset (yaitu, subset dari kardinalitas k)
dari itemset 𝐼 ∈ 𝒞𝑘 perlu ada di ℱ𝑘 karena properti downward closure. Kalau tidak, dijamin
itemset I infrequent. Oleh karena itu, diperiksa apakah semua k-subset dari setiap itemset
𝐼 ∈ 𝒞𝑘+1 ada di ℱ𝑘 . Jika hal ini tidak terjadi, maka itemset I akan dihapus dari 𝒞𝑘+1 .

Setelah kandidat itemset 𝒞𝑘+1 dengan ukuran (k+1) dihasilkan, dukungannya dapat
ditentukan dengan menghitung jumlah kemunculan setiap kandidat dalam database
transaksi 𝜏 . Hanya kumpulan item kandidat yang memiliki dukungan minimum yang
diperlukan yang dipertahankan untuk membuat himpunan (k+1)-itemset sering ℱ𝑘+1 ⊆
𝒞𝑘+1 . Jika himpunan ℱ𝑘+1 kosong, algoritma berakhir. Pada saat terminasi, penyatuan

⋃𝑘𝑖=1 ℱ𝑖 dari pola frekuensi dengan ukuran berbeda dilaporkan sebagai keluaran akhir dari
algoritma.

https://esaunggul.ac.id Page 14 of 18 Revisi/Tgl. ( 0 / 01-09-2021 )


Algoritma keseluruhan diilustrasikan pada Gambar 4.2. Inti dari algoritma adalah loop
berulang yang menghasilkan (k+1)-kandidat dari pola-k yang frequent untuk nilai k yang
lebih tinggi secara berurutan dan menghitungnya. Tiga operasi utama dari algoritma adalah
generasi kandidat, pemangkasan, dan penghitungan support. Dari jumlah tersebut, proses
penghitungan support adalah yang paling mahal karena tergantung pada ukuran basis data
transaksi 𝜏 . Pendekatan level-bijaksana memastikan bahwa algoritme relatif efisien
setidaknya dari perspektif biaya akses disk. Hal ini karena setiap set kandidat dalam 𝒞𝑘+1
dapat dihitung dalam satu lintasan data tanpa memerlukan akses disk secara acak. Oleh
karena itu, jumlah lintasan di atas data sama dengan kardinalitas dari itemset frequent
terlama dalam data. Namun demikian, prosedur penghitungan masih cukup mahal terutama
jika seseorang menggunakan pendekatan naif untuk memeriksa apakah setiap itemset
adalah subset dari suatu transaksi. Oleh karena itu, prosedur penghitungan dukungan yang
efisien diperlukan.

Untuk melakukan penghitungan support, Apriori perlu memeriksa secara efisien


apakah setiap kandidat itemset ada dalam suatu transaksi. Ini dicapai dengan penggunaan
struktur data yang dikenal sebagai pohon hash. Pohon hash digunakan untuk mengatur pola
kandidat dalam 𝒞𝑘+1 dengan hati-hati untuk penghitungan yang lebih efisien. Asumsikan
bahwa item dalam transaksi dan kumpulan item kandidat diurutkan secara leksikografis.
Pohon hash adalah pohon dengan derajat tetap dari simpul internal. Setiap simpul internal
dikaitkan dengan fungsi hash acak yang memetakan ke indeks anak-anak berbeda dari
simpul itu di pohon. Sebuah simpul daun dari pohon hash berisi daftar kumpulan item yang
diurutkan secara leksikografis, sedangkan simpul interior berisi tabel hash. Setiap itemset
di 𝒞𝑘+1 terkandung tepat di satu simpul daun dari pohon hash. Fungsi hash di node interior
digunakan untuk memutuskan kandidat itemset mana yang termasuk dalam node daun mana

dengan menggunakan metodologi yang dijelaskan di bawah ini.

Dapat diasumsikan bahwa semua node interior menggunakan fungsi hash yang sama
𝑓(. ) yang memetakan ke [0, 1, … , ℎ − 1]. Nilai h juga merupakan derajat percabangan dari
pohon hash. Itemset kandidat di 𝒞𝑘+1 dipetakan ke simpul daun dari pohon dengan
mendefinisikan jalur dari akar ke simpul daun dengan menggunakan fungsi hash ini di
simpul internal. Asumsikan bahwa akar pohon hash adalah level 1, dan semua level yang
berurutan di bawahnya bertambah 1. Seperti sebelumnya, asumsikan bahwa item dalam

https://esaunggul.ac.id Page 15 of 18 Revisi/Tgl. ( 0 / 01-09-2021 )


kandidat dan transaksi diatur dalam urutan yang diurutkan secara leksikografis. Pada node
interior di level i, fungsi hash diterapkan ke item ke-i dari kandidat itemset 𝐼 ∈ 𝒞𝑘+1 untuk
memutuskan cabang mana dari pohon hash yang akan diikuti untuk kandidat itemset. Pohon
dibangun secara rekursif dalam mode top-down, dan ambang batas minimum dikenakan
pada jumlah kandidat di simpul daun untuk memutuskan di mana harus mengakhiri ekstensi
pohon hash. Itemset kandidat di simpul daun disimpan dalam urutan yang diurutkan.

Untuk melakukan penghitungan, semua kandidat k-itemset yang mungkin pada 𝒞𝑘+1 yang
merupakan subset dari transaksi 𝑇𝑗 ∈ 𝜏 ditemukan dalam satu eksplorasi hash tree. Untuk
mencapai tujuan ini, semua jalur yang mungkin di pohon hash, yang daunnya mungkin
berisi subset itemset dari transaksi 𝑇𝑗 , ditemukan menggunakan rekursif traversal.
Pemilihan node daun yang relevan dilakukan dengan rekursif traversal sebagai berikut.

Pada simpul akar, semua cabang diikuti sedemikian rupa sehingga salah satu item dalam
transaksi 𝑇𝑗 hash ke salah satu cabang. Pada node interior tertentu, jika item ke-i dari
transaksi 𝑇𝑗 terakhir di-hash (pada node induk), maka semua item yang mengikutinya dalam
transaksi di-hash untuk menentukan anak-anak yang mungkin untuk diikuti. Jadi, dengan
mengikuti semua jalur ini, simpul daun yang relevan di pohon ditentukan.

https://esaunggul.ac.id Page 16 of 18 Revisi/Tgl. ( 0 / 01-09-2021 )


Kandidat di simpul daun disimpan dalam urutan terurut dan dapat dibandingkan secara
efisien dengan transaksi 𝑇𝑗 untuk menentukan apakah mereka relevan. Proses ini diulang
untuk setiap transaksi untuk menentukan jumlah dukungan akhir dari setiap itemset di 𝒞𝑘+1 .

C. LATIHAN

1. Perhatikan database transaksi pada tabel di bawah ini:

Tentukan support mutlak dari itemset {a, e, f}, dan {d, f}. Ubah dukungan absolut menjadi
dukungan relatif.
2. Untuk database dalam soal no. 1, hitung semua pola frequent pada nilai minimum support
absolut 2, 3, dan 4.
3. Untuk database pada soal no. 1, tentukan semua pola frekuensi maksimum pada nilai nilai
minimum support absolut 2, 3, dan 4.
4. Representasikan database pada soal no. 1 dalam format vertikal.
5. Perhatikan database transaksi pada tabel di bawah ini:

Tentukan semua pola frequent dan pola maksimal pada level support 3, 4, dan 5.

D. Kunci Jawaban

1. Silakan dibaca di uraian diatas.


2. Silakan dibaca di uraian diatas.
3. Silakan dibaca di uraian diatas.
4. Silakan dibaca di uraian diatas.
5. Silakan dibaca di uraian diatas.

https://esaunggul.ac.id Page 17 of 18 Revisi/Tgl. ( 0 / 01-09-2021 )


Daftar Pustaka

1. Tan, Steinbach, Karpatne, Kumar, Introduction to Data Mining, 2nd Edition, 2019
https://www-users.cs.umn.edu/~kumar001/dmbook/index.php#item3
2. Charu C. Aggarwal , Data Mining: Textbook, IBM T.J. Watson Research Center
Yorktown Heights, New York
USA, 2015

https://esaunggul.ac.id Page 18 of 18 Revisi/Tgl. ( 0 / 01-09-2021 )

Anda mungkin juga menyukai