Showing posts with label association mining. Show all posts
Showing posts with label association mining. Show all posts

Wednesday, July 05, 2006

Penambangan Asosiasi (bagian 3)

(lanjutan dari bagian ke-2)

Dengan menggunakan contoh pada bagian ke-2, dalam bahasa yang mudah, Penambangan Asosiasi dapat didefinisikan (secara informal) sebagai pencarian sebuah aturan asosiasi dalam bentuk "Jika X maka Y". Di sini X dan Y adalah sebuah himpunan items. Dalam contoh sebelumnya, items sama dengan barang belanjaan (karena itulah Penambangan Asosiasi sering juga dinamakan Market Basket Analysis).

Yang harus diingat di sini adalah, himpunan X harus berbeda dengan himpunan Y. Secara matematis dikatakan "Irisan himpunan X dan himpunan Y adalah himpunan kosong (X and Y are disjoint sets)".

Sekarang kita bisa lanjutkan pembahasan dengan memperkenalkan konsep Frequent itemsets. Himpunan satu atau beberapa items disebut sebagai itemset. Frequent itemset adalah himpunan yang sering muncul dalam keranjang belanja pengunjung pasar. Dalam bahasa awam, ini bisa dikatakan sebagai barang-barang yang sering dibeli orang.

Penambangan Asosiasi tidak hanya 'menemukan' barang-barang yang sering dibeli orang, tapi juga sebuah pengetahuan dalam bentuk aturan asosiasi seperti di atas. "Jika orang sering belanja Rinso, maka dia juga sering beli Attack" (ini hanya sekedar contoh). Masalahnya pada titik pembahasan ini adalah bagaimana kita dapat menemukan bahwa barang-barang tertentu sering dibeli (frequent) orang atau tidak.

Sering atau tidaknya sebuah barang dibeli tentu saja diukur dari jumlah kemunculan (frequency) barang tersebut dalam keranjang belanja pembeli. Jika kita diberikan sebuah catatan oleh manajer pasar swalayan berisi daftar transaksi belanja selama sehari, maka kita memiliki sebuah basis data transaksi (transaction database). Basis data ini kita gunakan untuk mencari aturan asosiasi.

Sebuah contoh sederhana dari basis data semacam itu dapat disajikan seperti berikut ini:

TID Itemsets
100 a d f
200 c d e
300 b d
400 a b c d
500 b c
600 a b d
700 b d e
800 b c e g
900 c d f
1000 a b d

(akan dilanjutkan pada bagian berikutnya)

Tuesday, March 07, 2006

Penambangan Asosiasi (bagian 2)

(lanjutan dari bagian 1)

Hal semacam itu mungkin terjadi jika anda belanja di pasar swalayan yang telah menerapkan 'findings' dari teknologi Penambangan Data (Data Mining). Seorang manajer pasar swalayan berusaha untuk meningkatkan jumlah penjualan dari barang-barang yang dijual di tokonya. Bagaimana caranya? Caranya adalah dengan menyusun barang-barang yang dijual dalam susunan yang membuat orang tertarik untuk membeli barang-barang lain di samping barang-barang yang sudah dibelinya.

Maaf kalau kalimat saya yang terakhir terlalu panjang. Saya coba untuk sederhanakan agar anda lebih mudah memahami dengan memberikan sebuah contoh.

Pernahkah anda mengamati dalam sebuah pasar swalayan kadang-kadang ada promosi produk tertentu? Di mana promosi barang tersebut diletakkan? Pada umumnya di area dekat kasir. Padahal kalau anda perhatikan lagi, barang yang dipromosikan sebenarnya sudah ada alokasi raknya sendiri di area lain di toko tersebut. Mengapa promosinya diletakkan di dekat kasir? Mungkin anda menjawab, agar orang melihat promosi itu, dan sambil menunggu antrian pembayaran di kasir, manajer toko berharap anda akan mengambil salah satu produk itu untuk anda coba. Jika ini terjadi, promosi yang dilakukan berhasil, dan manajer toko berhasil mencapai tujuannya meningkatkan jumlah penjualan.

Jika diamati lebih jauh, peletakan barang-barang di toko juga dilakukan berdasarkan pemikiran yang sama. Secara mudah, manajer toko menggunakan aturan sederhana: Letakkan barang-barang yang bisa menarik pembeli di tempat yang mudah terlihat. Tapi sebenarnya tidak hanya itu yang bisa dilakukan oleh manajer toko. Barang apa saja sih (misalkan barang X, Y, atau Z) yang bisa menarik seorang pembeli ketika dia membeli sesuatu (misalkan barang A)?

Hal ini bisa diketahui dengan teknik Penambangan Data. Data penjualan yang dimasukkan oleh kasir setiap kali anda membeli barang di pasar swalayan akan tersimpan dalam basis data. Hal yang sama juga dilakukan bagi keranjang belanja milik pembeli lain selain anda. Dalam satu hari, akan terkumpul data transaksi (Transactions) yang berisi informasi barang-barang apa saja yang dibeli oleh masing-masing pembeli yang telah mengunjungi toko tersebut sepanjang hari. Tentu saja nama pembeli tidak perlu diketahui, yang diperlukan hanyalah nomor identitas transaksi (Transaction ID, atau lebih singkat TID) yang bisa diambil dari waktu pembelian dicatat ke dalam basis data. Selain TID, informasi yang diperlukan tentu saja adalah barang-barang apa saja (itemlist) yang ada dalam keranjang belanja untuk TID yang bersangkutan.

Jika anda tadi membeli barang-barang berikut ini:
1. Teh Tarik MaxTea
2. Kopi Torabika Capuccino
3. Nutrisari Florida Orange
4. Gula Rendah Kalori Tropicana Slim
5. Nutri Tea Instant Original Tea
6. Teh Poci Celup
7. Ginseng Creamer
8. Jahe Wangi
(daftar ini saya dapatkan dari mas Wisnu)

Untuk setiap TID, ada itemlist-nya masing-masing. Dan semua ini tercatat di dalam basis data.

Nah, sekarang, karena datanya sudah tercatat semua, pertanyaan manajer toko bisa dijawab dengan lebih mudah. Salah satu pertanyaan yang mungkin diajukan oleh manajer toko misalnya seperti ini: "Kalo saya mau naro Jahe Wangi, sebaiknya ditaro di mana yah, biar banyak yang beli? Apa deket sama Teh Poci? Apa ditaro deket sama Rinso?"

Kira-kira, mana yang paling masuk akal? Tentu saja diletakkan di dekat Teh Poci. Kalau ada pembeli yang hobi dengan Teh Poci, dan melihat di sebelahnya ada Jahe Wangi, kemungkinan besar dia akan mengambil satu kotak untuk dicoba di rumah. Tapi kalo orang beli Rinso?

(berlanjut di bagian ke-3)

Tuesday, February 07, 2006

Penambangan Asosiasi (bagian 1)

Udah lama blog ini nggak ditambah isinya. Biar nggak kosong, sengaja saya mengisinya dengan topik-topik yang berkaitan dengan ide-ide. Soalnya, kalau hanya diisi dengan soal-soal cerita dari buku Tjerdas Tangkas saja, maka blog ini akan membosankan. Lagipula nanti saya bisa ditjap sebagai pembadjak buku.

Dan ini adalah entri pertama yang memuat ide semacam itu.

Dalam dunia Data Mining, ada sebuah teknik penambangan data yang dikenal dengan Mining Assocation Rules. Dalam bahasa Indonesia, terjemahannya kira-kira Penambangan Aturan Asosiasi. Walaupun mungkin agak terdengar aneh, tapi yang jadi pokok soal adalah apa sih sebenarnya yang dimaksud dengan Aturan Asosiasi ini?

Contoh klasik dalam literatur Data Mining tentang Aturan Asosiasi ini adalah keranjang belanja yang diisi oleh barang-barang belanjaan oleh para pembeli. Bagi pemilik toko, pertanyaan menarik yang biasa ditanyakan adalah, "Seperti apa sih perilaku belanja pelanggan saya?"

Bisa jadi, ketika anda membeli sekotak susu, kemungkinan besar anda juga akan membeli sekotak teh. Atau mungkin anda pernah mengalami sendiri, ketika selesai berkunjung ke sebuah pasar swalayan, anda menyadari bahwa barang-barang yang anda beli lebih banyak daripada yang seharusnya. Ketika anda berangkat dari rumah, anda hanya berniat membeli satu batang pulpen. Tapi sesampainya di rumah, ternyata anda membawa satu kantong belanja berisi barang-barang selain pulpen.

Mengapa hal ini bisa terjadi?

(bersambung ke bagian ke-2)