Modul 5 - Data Mining
Modul 5 - Data Mining
(CTI311)
MODUL 5
PENAMBANGAN ASOSIASI POLA
(ASSOCIATION PATTERN MINING)
(Lanjutan)
DISUSUN OLEH
AGUNG MULYO WIDODO, ST, M.Sc.
5.1 Introduksi
Model tradisional untuk generasi frequent itemset telah menemukan popularitas dan
penerimaan yang luas karena kesederhanaannya. Kesederhanaan menggunakan jumlah
frekuensi mentah untuk dukungan, dan menggunakan probabilitas bersyarat untuk
kepercayaan sangat menarik.
Sebagai contoh, perhatikan database transaksi yang diilustrasikan pada Gambar 4.1.
Dalam database ini, semua transaksi berisi item Milk. Oleh karena itu, item Milk dapat
ditambahkan ke set item apa pun, tanpa mengubah frekuensinya. Namun, ini tidak berarti
bahwa Susu benar-benar terkait dengan rangkaian item apa pun. Selanjutnya, untuk setiap
himpunan item X, aturan asosiasi X {Susu} memiliki kepercayaan 100%. Namun, tidak
masuk akal bagi pedagang supermarket untuk berasumsi bahwa keranjang barang X adalah
indikasi diskriminatif Susu. Di sinilah letak keterbatasan model dukungan-kepercayaan
tradisional.
Terkadang, juga diinginkan untuk merancang ukuran yang dapat menyesuaikan dengan
kemiringan dalam nilai dukungan item individual. Penyesuaian ini sangat penting untuk
penambangan pola negatif. Misalnya, dukungan pasangan item {Milk, Butter} sangat
berbeda dengan {¬Milk, Butter}. Di sini, symbol ¬ menunjukkan negasi. Di sisi lain, dapat
Jelas, langkah-langkah tersebut penting untuk penambangan pola negatif. Ukuran yang
memenuhi sifat ini dikatakan memenuhi sifat simetris bit karena nilai 0 dalam matriks biner
diperlakukan dengan cara yang sama dengan nilai 1.
Meskipun dimungkinkan untuk mengukur afinitas set item dengan cara yang secara
statistik lebih kuat daripada kerangka dukungan-kepercayaan, masalah komputasi utama
yang dihadapi oleh sebagian besar model berbasis ketertarikan tersebut adalah bahwa
properti penutupan ke bawah umumnya tidak terpenuhi. Ini membuat pengembangan
algoritmik agak sulit pada ruang pencarian pola yang besar secara eksponensial. Dalam
beberapa kasus, ukuran didefinisikan hanya untuk kasus khusus 2-itemset. Dalam kasus lain,
dimungkinkan untuk merancang algoritma yang lebih efisien.
Ukuran statistik alami adalah koefisien korelasi Pearson antara sepasang item. Koefisien
korelasi Pearson antara sepasang variabel acak X dan Y didefinisikan sebagai berikut:
Dalam kasus data market-basket, X dan Y adalah variabel biner yang nilainya
mencerminkan ada atau tidaknya item. Notasi E[X] menyatakan ekspektasi dari X, dan (X)
menyatakan simpangan baku X. Kemudian, jika sup(i) dan sup(j) adalah tumpuan relatif
masing-masing item, dan sup({i, j} adalah support relatif dari itemset {i, j}, maka korelasi
keseluruhan dapat diperkirakan dari data sebagai berikut:
𝑠𝑢𝑝({𝑖,𝑗})−𝑠𝑢𝑝(𝑖).𝑠𝑢𝑝(𝑗)
𝜌𝑖𝑗 = (5.1)
√𝑠𝑢𝑝(𝑖).𝑠𝑢𝑝(𝑗).(1−𝑠𝑢𝑝(𝑖)).(1−𝑠𝑢𝑝(𝑗))
Koefisien korelasi selalu berada pada rentang [−1, 1], dimana nilai +1 menunjukkan
korelasi positif sempurna, dan nilai -1 menunjukkan korelasi negatif sempurna. Nilai
mendekati 0 menunjukkan data berkorelasi lemah. Ukuran ini memenuhi properti bit
simetris. Sementara koefisien korelasi secara statistik dianggap sebagai cara yang paling
kuat untuk mengukur korelasi, seringkali secara intuitif sulit untuk ditafsirkan ketika
berhadapan dengan item dengan nilai dukungan yang bervariasi tetapi rendah.
Ukuran χ2 adalah ukuran bit-simetris lain yang memperlakukan ada dan tidaknya item
dengan cara yang sama. Perhatikan bahwa untuk satu set k variabel acak biner (item),
dilambangkan dengan X, ada 2k kemungkinan status yang mewakili ada atau tidak adanya
item X yang berbeda dalam transaksi. Misalnya, untuk k = 2 item {Roti, Mentega}, 2 2
keadaannya adalah {Roti, Mentega}, {Roti,¬Mentega}, {¬Roti,Mentega}, dan {¬Roti,
¬Mentega}. Kehadiran fraksional yang diharapkan dari masing-masing kombinasi ini dapat
dikuantifikasi sebagai produk dari dukungan keadaan (ada atau tidaknya) dari masing-
masing item. Untuk kumpulan data yang diberikan, nilai dukungan yang diamati dari suatu
keadaan dapat bervariasi secara signifikan dari nilai dukungan yang diharapkan. Biarkan Oi
dan Ei menjadi nilai yang diamati dan diharapkan dari dukungan absolut dari keadaan i.
Misalnya, dukungan yang diharapkan Ei dari {Roti,¬Mentega} diberikan dengan jumlah
total transaksi dikalikan dengan masing-masing dukungan fraksional dari Roti dan
¬Mentega. Kemudian, ukuran χ2 untuk himpunan item X didefinisikan sebagai berikut:
|𝑋| (𝑂𝑖 −𝐸𝑖 )2
𝜒 2 (𝑋) = ∑2𝑖=1 (5.2)
𝐸𝑖
Ukuran χ2 adalah bit-simetris karena memperlakukan ada dan tidaknya item dengan
cara yang sama. Uji χ2 memenuhi properti penutupan ke atas (upward closure
property )karena algoritma yang efisien dapat dirancang untuk menemukan pola-k yang
menarik. Di sisi lain, kompleksitas komputasi ukuran dalam Persamaan. 5.2 meningkat
secara eksponensial dengan |X|.
Intereset Ratio adalah ukuran yang sederhana dan dapat ditafsirkan secara intuitif.
Interest Ratio dari satu set item {i1 . . . ik} dinotasikan sebagai I({i1, . . . ik}), dan
didefinisikan sebagai berikut:
𝑠𝑢𝑝({𝑖1 …𝑖𝑘 })
𝐼({𝑖1 , … , 𝑖𝑘 }) = ∐𝑘 (5.3)
𝑗=1 𝑠𝑢𝑝(𝑖𝑗 )
Jika item-item tersebut bebas secara statistik, tumpuan gabungan pada pembilang akan
sama dengan hasil kali tumpuan pada penyebut. Oleh karena itu, interest ratio 1 adalah titik
impas. Nilai lebih besar dari 1 menunjukkan bahwa variabel berkorelasi positif, sedangkan
rasio kurang dari 1 menunjukkan korelasi negatif.
Ketika beberapa item sangat langka, rasio bunga bisa menyesatkan. Misalnya, jika suatu
item terjadi hanya dalam satu transaksi dalam database transaksi besar, setiap item yang
terjadi bersamaan dengannya dalam transaksi tersebut dapat dipasangkan dengannya untuk
membuat 2-itemset dengan interest ratio yang sangat tinggi. Ini secara statistik
menyesatkan. Selanjutnya, karena interest ratio tidak memenuhi properti penutupan ke
bawah, sulit untuk merancang algoritma yang efisien untuk menghitungnya..
kepercayaan X⇒Y dan kepercayaan Y⇒X. Berbagai ukuran kepercayaan simetris dapat
berupa salah satu dari minimum, rata-rata, atau maksimum dari dua nilai kepercayaan ini.
Minimum tidak diinginkan ketika X atau Y sangat jarang, menyebabkan ukuran gabungan
menjadi terlalu rendah. Maksimum tidak diinginkan ketika X atau Y sangat sering,
menyebabkan ukuran gabungan menjadi terlalu tinggi. Rata-rata memberikan trade-off
paling kuat dalam banyak skenario. Langkah-langkah tersebut dapat digeneralisasikan ke
k-itemsets dengan menggunakan semua k item individual yang mungkin dalam konsekuen
untuk perhitungan. Menariknya, rata-rata geometrik dari dua kepercayaan dievaluasi ke
ukuran kosinus, yang dibahas di bawah ini. Masalah komputasi dengan ukuran kepercayaan
Koefisien kosinus biasanya diterapkan pada baris untuk menentukan kesamaan di antara
transaksi. Namun, bisa juga diterapkan pada kolom, untuk menentukan kesamaan antar item.
Koefisien kosinus paling baik dihitung menggunakan representasi daftar tid vertikal pada
vektor biner yang sesuai. Nilai cosinus pada vektor biner dihitung sebagai berikut:
𝑠𝑢𝑝({𝑖,𝑗})
𝑐𝑜𝑠𝑖𝑛𝑒(𝑖, 𝑗) = (5.4)
√𝑠𝑢𝑝(𝑖).√𝑠𝑢𝑝(𝑗)
Pembilang dapat dievaluasi sebagai panjang perpotongan dari daftar tid item i dan j. Ukuran
kosinus dapat dilihat sebagai mean geometrik dari kepercayaan aturan {i} ⇒{j} dan {j} ⇒
ukuran.
Ketika set S1 . . . Sk sesuai dengan daftar tid dari k-item, persimpangan dan gabungan dari
daftar tid dapat digunakan untuk menentukan pembilang dan penyebut dari ekspresi yang
disebutkan di atas. Ini memberikan signifikansi berbasis Jaccard untuk k-itemset tersebut.
Tentu saja, agak tidak efisien untuk melakukannya dengan cara ini karena setiap jenis
memerlukan melewati database. Selanjutnya, pendekatan ini hanya dapat memperkirakan
koefisien Jaccard untuk kumpulan k kolom tertentu, dan tidak menemukan semua k-itemset
yang memenuhi kriteria minimum pada koefisien Jaccard.
Trik min-hash dapat digunakan untuk secara efisien melakukan pengurutan secara
implisit dan mengubah ke representasi sampel ringkas di mana algoritma penambangan pola
Dengan menentukan himpunan bagian kolom di mana nilai tid sama dengan support sama
dengan nilai support minimum, dimungkinkan untuk mengestimasi semua k-item set yang
koefisien Jaccardnya paling sedikit sama dengan nilai support minimum. Ini adalah masalah
penambangan pola standar yang sering, kecuali bahwa hal itu didefinisikan pada nilai
kategoris alih-alih matriks data biner.
Salah satu cara untuk mengubah matriks data kategorikal r × d ini menjadi matriks biner
adalah dengan menarik pengidentifikasi kolom di mana tidnya sama dari setiap baris dan
membuat transaksi baru "item" pengidentifikasi kolom. Dengan demikian, satu baris dari
matriks r × d akan dipetakan ke beberapa transaksi. Kumpulan data transaksi yang
dihasilkan dapat diwakili oleh matriks biner baru D′. Pola apa pun yang sering tersedia
Kekuatan kolektif dari sebuah itemset ditentukan dalam hal tingkat pelanggarannya.
Itemset I dikatakan melanggar suatu transaksi, jika beberapa item ada dalam transaksi, dan
yang lainnya tidak. Tingkat pelanggaran v(I) dari itemset I adalah fraksi pelanggaran dari
itemset I atas semua transaksi. Kekuatan kolektif C(I) dari itemset I didefinisikan dalam hal
tingkat pelanggaran sebagai berikut:
Kekuatan kolektif adalah angka antara 0 sampai ∞ . Nilai 0 menunjukkan korelasi negatif
sempurna, sedangkan nilai ∞ menunjukkan korelasi positif sempurna. Nilai 1 adalah titik
impas (Break Even Point). Nilai yang diharapkan dari v(I) dihitung dengan asumsi
independensi statistik dari masing-masing item. Tidak ada pelanggaran yang terjadi ketika
semua item di I disertakan dalam transaksi, atau ketika tidak ada item dalam I yang termasuk
dalam transaksi. Oleh karena itu, jika pi adalah pecahan dari transaksi di mana item i terjadi,
kita memiliki:
Secara intuitif, jika pelanggaran terhadap suatu itemset dalam suatu transaksi adalah “bad
event” dari perspektif mencoba membangun korelasi yang tinggi antar item, maka v(I)
adalah pecahan dari bad event, dan (1 v(I) ) adalah pecahan dari "peristiwa baik". Oleh
karena itu, kekuatan kolektif dapat dipahami sebagai berikut
𝐺𝑜𝑜𝑑 𝑒𝑣𝑒𝑛𝑡𝑠 𝐸[𝐵𝑎𝑑 𝐸𝑣𝑒𝑛𝑡𝑠]
𝐶(𝐼) = 𝐸[𝐺𝑜𝑜𝑑 𝑒𝑣𝑒𝑛𝑡𝑠] (5.9)
𝐵𝑎𝑑 𝐸𝑣𝑒𝑛𝑡𝑠
Konsep kekuatan kolektif dapat diperkuat menjadi kumpulan item yang sangat kolektif.
Hal ini diperlukan untuk memaksa properti penutupan untuk memastikan bahwa item yang
tidak terkait mungkin tidak ada dalam sebuah itemset. Pertimbangkan, misalnya, kasus
ketika itemset I1 adalah {Milk, Bread} dan itemset I2 adalah {Diaper, Beer}. Jika I1 dan I2
masing-masing memiliki kekuatan kolektif yang tinggi, maka mungkin sering terjadi bahwa
itemset 𝐼1 ∪ 𝐼2 mungkin juga memiliki kekuatan kolektif yang tinggi, meskipun item seperti
Milk dan Beer mungkin independen. Karena properti penutupan dari definisi ini,
dimungkinkan untuk merancang algoritma seperti Apriori untuk masalah tersebut
Dalam banyak aplikasi, diinginkan untuk menentukan pola antar item atau
ketidakhadirannya.
Ketika database transaksi sangat besar, tidak dapat disimpan di memori utama. Hal ini
membuat penerapan algoritma frequent pattern mining menjadi lebih menantang. Ini karena
database semacam itu biasanya disimpan di disk, dan hanya algoritma level-bijaksana yang
dapat digunakan. Banyak algoritma depth-first pada pohon enumerasi mungkin ditantang
oleh skenario ini karena mereka memerlukan akses acak ke transaksi. Ini tidak efisien untuk
data diskresident. Seperti yang dibahas sebelumnya, algoritma depth-first seperti itu
biasanya paling efisien untuk data memori-residen. Dengan pengambilan sampel,
dimungkinkan untuk menerapkan banyak dari algoritme ini dengan cara yang efisien,
dengan hanya kehilangan akurasi yang terbatas. Ketika algoritma penambangan itemset
standar diterapkan pada data sampel, itu akan menghadapi dua tantangan utama:
Positif palsu lebih mudah ditangani daripada negatif palsu karena yang pertama dapat
dihapus dengan memindai basis data penyimpanan disk hanya sekali. Namun, untuk
mengatasi negatif palsu, seseorang perlu mengurangi ambang batas dukungan. Dengan
mengurangi ambang batas dukungan, dimungkinkan untuk secara probabilistik menjamin
tingkat kerugian untuk ambang batas tertentu. Petunjuk untuk jaminan probabilistik ini
dapat ditemukan dalam catatan bibliografi. Mengurangi ambang batas dukungan terlalu
banyak akan menyebabkan banyak item palsu dan meningkatkan pekerjaan di fase
pascapemrosesan. Biasanya, jumlah positif palsu meningkat dengan cepat dengan
perubahan kecil di tingkat dukungan.
Salah satu pendekatan yang dapat menjamin tidak ada positif palsu dan tidak ada
negatif palsu, adalah penggunaan ansambel yang dipartisi dengan algoritma Partisi [446].
Pendekatan ini dapat digunakan baik untuk pengurangan biaya akses disk atau untuk
pengurangan kebutuhan memori dari algoritma berbasis proyeksi. Dalam ansambel yang
dipartisi, basis data transaksi dipartisi menjadi k segmen terpisah, yang masing-masing
merupakan residen memori utama. Algoritme penambangan frequent itemset diterapkan
secara independen ke masing-masing dari k segmen yang berbeda ini dengan tingkat
dukungan minimum yang diperlukan. Sifat penting adalah bahwa setiap pola yang sering
muncul harus muncul setidaknya di salah satu segmen. Jika tidak, dukungan kumulatifnya
di berbagai segmen tidak akan memenuhi persyaratan dukungan minimum. Oleh karena itu,
penyatuan dari frequent itemset yang dihasilkan dari segmen yang berbeda memberikan
superset dari frequent pattern. Dengan kata lain, serikat berisi positif palsu tetapi tidak ada
negatif palsu. Fase pascapemrosesan penghitungan dukungan dapat diterapkan ke superset
ini untuk menghilangkan positif palsu.
Pendekatan ini sangat berguna untuk algoritma berbasis proyeksi memori intensif ketika
database yang diproyeksikan tidak sesuai dengan memori utama. Dalam algoritma Partisi
asli, struktur data yang digunakan untuk melakukan penggunaan kembali berbasis proyeksi
Generalisasi ke tipe data lain cukup mudah dengan penggunaan metode transformasi
tipe yang dibahas dalam bab sebelumnya.
Aturan ini mungkin tidak memiliki dukungan yang memadai jika transaksi tidak berisi
cukup banyak individu pada usia tersebut. Namun, aturan tersebut mungkin relevan untuk
kelompok usia yang lebih luas. Oleh karena itu, satu kemungkinan adalah membuat aturan
yang mengelompokkan usia yang berbeda ke dalam satu rentang:
𝐴𝑔𝑒[85,90] ⇒ 𝐶ℎ𝑒𝑐𝑘𝑒𝑟𝑠
Aturan ini akan memiliki tingkat dukungan minimum yang diperlukan. Secara umum, untuk
penambangan aturan asosiasi kuantitatif, atribut kuantitatif didiskritisasi dan diubah
menjadi bentuk biner. Dengan demikian, seluruh kumpulan data (termasuk atribut item)
dapat direpresentasikan sebagai matriks biner. Tantangan dengan penggunaan pendekatan
semacam itu adalah bahwa tingkat diskritisasi yang tepat seringkali sulit untuk diketahui
secara apriori. Algoritma penambangan aturan asosiasi standar dapat diterapkan untuk
Data kategoris umum di banyak domain aplikasi. Misalnya, atribut seperti jenis kelamin
dan kode pos bersifat kategoris tipikal. Dalam kasus lain, data kuantitatif dan kategoris
dapat dicampur. Contoh aturan dengan atribut campuran adalah sebagai berikut:
C. LATIHAN
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:
D. Kunci Jawaban
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