1755 words
9 minutes
Apriori Algorithm (Associated Learning) in Data Mining

Cover image generated by Author

Kamu pernah ngalamin gak, ketika beli suatu barang di supermarket yang niatnya beli satu barang doang, tapi pulang-pulang bawa dua barang atau lebih? Hihi, aku pernah juga seperti itu. Tapi kok bisa yaa, itu terjadi? Yuk cari tau bareng…

Jadi ternyata hal ini karena kita telah kejebak oleh trik marketing dari supermarket itu loh. Haa, kok bisa? Iya, seperti gambar di atas, seorang nenek contohnya ingin membeli sebuah pisang, namun kok arah pandangannya menuju juga pada barang lain. Nah, petugas supermarket tau kalau behaviour manusia mudah terpengaruh yang mana penelitian menujukan bahwa perilaku manusia memang mudah terpengaruh, terutama dalam konteks pemasaran, yang sering disebut sebagai psikologi pemasaran. Contohnya disini seperti teknik priming dalam psikologi pemasaran adalah teknik untuk menciptakan kesan pertama yang positif pada konsumen dengan menggunakan berbagai stimulus sensorik seperti gambar, suara, atau kata-kata tertentu sebelum mereka membuat keputusan pembelian , oleh karena itu petugas menyimpan barang-barang yang mungkin saling terkait antara satu sama lain, yang bikin kita mikir ke arah tertentu. Jika Anda berada di posisi si nenek pada gambar, apa yang Anda beli? Apakah hanya pisang? Tapi karena melihat wortel, susu, dan pisang yang berdekatan, pikiran si nenek mungkin: “Enak juga yaa minum jus pisang dan wortel.” Jadinya deh, si nenek yang tadinya mau beli pisang doang, malah kebeli wortel dan susu juga. Dan yeah, trik marketing dari supermarket berhasil! Yang tadinya jika si nenek beli pisang doang itu cuman harga sekian, tapi karena penempatan inventory yang pas, si pihak supermarket bisa raup untung lebih besar.

Haaa gituh yaa, jadi selama ini kita terkena oleh trik marketing supermarket dari cara mereka menyimpan inventory barang-barang itu yaa. Tapi-tapi, kok pintar banget yaa bisa paham behaviour manusia dari urutan penyimpanan inventory barang-barang itu? Apakah ada triknya?

Iya ada triknya, dalam menentukan tempat inventory suatu barang dikenal dengan teknik market basket analysis (metode association rule). Namun, sebelum mengenal lebih jauh mengenai teknik tersebut, yuk kenalan dulu dengan konsep data mining yang mempelopori teknik tersebut hadir.

What Is Data Mining?#

Data mining atau dikenal juga sebagai KDD (Knowledge Discovery in Databases) adalah suatu proses untuk mengekstraksi pengetahuan yang menarik dalam bentuk rule, regularities, pola, constraint, dan lain-lain dari data yang tersimpan dalam sejumlah besar basis data. Terus apa kaitannya dengan case kita di atas tadi? Yah, dalam menentukan tempat inventory suatu barang, si petugas supermarket harus melakukan data mining terlebih dahulu, yaitu dengan menggunakan data historical pelanggan untuk mengekstraksi suatu pengetahuan. Tujuannya agar si petugas supermarket bisa tahu behaviour pelanggannya dari transaksi-transaksi sebelumnya, yang mana dari data itu petugas supermarket bisa tahu hubungan antara barang satu dan barang lainnya berdasarkan catatan pembelian user sebelumnya.

How the Process of Doing Data Mining?#

Data Mining Flow

First thing first, agar teknik marketing supermarket berhasil, obviously supermarket harus punya sebuah database untuk merekam catatan pembelian setiap user di supermarket tersebut. Karena data is like the new oil in the 21st century, dari sebuah data kita bisa menggali dan mendapatkan suatu insight. Namun sebelum itu, tentu saja pihak supermarket perlu melalui tahap data cleaning terlebih dahulu, yang mana dari kumpulan data pembelian user bisa saja terjadi inkonsistensi data, seperti ada kesalahan input yang dilakukan oleh petugas kasir dalam mencatat pembelian dari seorang pelanggan. Kemudian, dari data yang sudah bersih, kita bisa memilih jenis data apa saja yang relevan dari task kita yang kita selesaikan, which is dalam data pembelian bisa saja ada id pelanggan, nama pelanggan, barang yang dibeli, harga, dan lain-lain, sesuai dengan rules yang ada di setiap supermarket. Dari data tersebut kita bisa memilih kolom data apa yang sesuai untuk diselesaikan. Setelah data telah sesuai dengan apa yang kira-kira kita inginkan, kita akan lanjut pada proses inti, yaitu data mining process, yang mana di sini kita akan menggunakan suatu method atau algoritma yang dapat diaplikasikan untuk mengekstraksi kumpulan data sebelumnya. Kemudian si pihak supermarket bisa melihat patterns data customernya dan dapat menyetting sebuah rule dari pattern tersebut, yang kemudian bisa dijadikan sebuah knowledge/pengetahuan untuk bisa dibuatkan sebuah system yang bisa mendukung untuk keuntungan supermarket sendiri. Yang mana tujuan kita itu adalah membuat inventory barang sesuai behaviour pelanggan. Terus dalam data mining process tadi ada sebuah method yang dipakai, itu method apa? Yah, dalam metode data mining itu ada 3, yaitu Association Rule, Classification, dan Clustering. Dan pada case ini kita akan menggunakan metode Association Rule.

Why Association Rule Method?#

Metode Association Rule, sering juga disebut sebagai Market Basket Analysis, digunakan untuk mengekstraksi keterhubungan asosiatif atau korelasi yang menarik antar item. Motivasi menggunakan market basket analysis itu berasal dari beberapa pertanyaan ini: Di mana sebaiknya deterjen ditempatkan di toko untuk memaksimalkan penjualannya? Apakah produk pembersih jendela dibeli ketika deterjen dan jus jeruk dibeli bersamaan? Apakah pelanggan yang membeli soda juga akan membeli pisang? Apakah merek soda membuat perbedaan? Bagaimana demografi lingkungan sekitar mempengaruhi apa yang dibeli pelanggan?

Supermarket Confused

Untuk menjawab itu, kita perlu tahu terlebih dahulu mengenai hubungan asosiatif antar item:

if antecedent then consequent

Sebagai contoh, jika saya membeli roti, maka saya akan membeli selai. Artinya kita bisa menarik kesimpulan bahwa:

  1. Ada hubungan asosiatif antara roti dengan selai.
  2. Jika seseorang membeli roti, maka dia berkemungkinan juga sebesar n% untuk membeli selai dalam satu pembelian.

Dalam association rule ada dua parameter yang perlu diketahui, yaitu nilai support dan nilai confidence:

  • Nilai support: Rasio antara jumlah transaksi yang memuat antecedent dan consequent terhadap jumlah transaksi.
  • Nilai confidence: Rasio antara jumlah transaksi yang memuat antecedent dan consequent terhadap jumlah transaksi yang meliputi semua item dalam antecedent.

Kemudian cara untuk menghitung nilai support dan confidence dengan contoh terdapat dua transaksi yang terjadi adalah sebagai berikut.

Formula of Support and Confidence

Terdapat beberapa algoritma yang bisa digunakan untuk association rule, di antaranya algoritma Apriori, FPGrowth, dan ECLAT. Yeah, pada case ini kita akan menggunakan algoritma Apriori.

Algorithm of Machine Learning

The Apriori Algorithm#

Ide dasar algoritma Apriori adalah mengembangkan frequent itemset dan memangkas item yang tingkat frekuensinya di bawah minimum support (Support >= Minimal Support). Terus how this works? Di sini kita akan menyelesaikan sebuah contoh kasus, which is kasus supermarket di atas. Dari case sebelumnya, si nenek awalnya mau beli pisang, tapi karena penempatan barang di supermarket, dia juga beli wortel dan susu untuk bikin jus. Kita akan buat dataset transaksi supermarket yang mencerminkan pola ini, lalu kita terapkan Apriori untuk menemukan frequent itemsets. Nah, sebelum masuk pada proses Apriori, kita tentukan dulu nilai minimum support dan minimum confidence. Minimum support di sini digunakan sebagai nilai minimum kemunculan itemset di kumpulan data transaksi kita, biar kita tahu itemset yang dianggap “sering muncul”. Sedangkan minimum confidence itu nilai minimum kepercayaan terhadap aturan asosiasi yang dihasilkan, biar aturannya cukup kuat. Di sini pada case kita, kita menentukan minimum support = 2 (artinya itemset harus muncul minimal 2 kali di transaksi) dan minimum confidence = 70% (artinya aturan yang dihasilkan harus punya tingkat kepercayaan minimal 70%).

Example Case Table 8 Steps

Langkah 1: Liat Data Transaksi di Database
Di sini contohnya database supermarket menyediakan 5 jenis transaksi yang terjadi sebelumnya. Dari data ini kita bisa proses untuk mengetahui pola belanja pelanggan di supermarket ini.

Langkah 2: Hitung Support atau Seberapa Sering Barang Muncul
Sekarang dari data transaksi yang ada, kita bisa hitung tiap barang muncul berapa kali di semua tadi. Ini gunanya support, biar kita bisa tau barang mana yang sering dibeli bareng oleh pelanggan.

Langkah 3: Buang Barang yang Jarang Muncul (Support Kurang dari 2)
Nah, karena kita udah tentuin minimum support 2, barang yang muncul kurang dari 2 kali kita eliminasi aja. Soalnya, kita cuma mau barang yang cukup sering dibeli biar pola belanjanya bisa kelihatan jelas.

Langkah 4: Gabungin Dua Barang Jadi Pasangan
Terus, barang-barang yang lolos tadi kita akan gabung menggunakan teknik kombinasi sehingga menghasilkan kombinasi berpasangan 2 barang yang masing-masing berbeda.

Langkah 5: Hitung Lagi Support dari Pasangan Barang
Sama kayak langkah 2, kita hitung support lagi, tapi kali ini pakai pasangan barang tadi. So, kita bisa liat pasangan mana yang sering dibeli bareng sama pelanggan.

Langkah 6: Buang Pasangan yang Jarang Muncul (Support Kurang dari 2)
Lagi-lagi, pasangan yang support-nya kurang dari 2 kita buang. Kita fokus ke pasangan yang cukup sering dibeli, biar pola belanja pelanggan makin keliatan.

Langkah 7: Gabungin Tiga Barang dan Hitung Support-nya
Di sini dari data transaksi yang lolos, kita lakukan ulang lagi teknik kombinasi yang mana akan menghasilkan 3 pasang barang yang berbeda, dan kemudian dari masing-masing 3 pasangan barang itu kita hitung support-nya lagi.

Langkah 8: Buang Lagi yang Support-nya Kurang dari 2
Sama seperti sebelumnya, kalau ada kombinasi tiga barang yang support-nya kurang dari 2, kita eliminasi.

TIP

Prosesnya: Generate kandidat itemset, hitung support, buang yang nggak lolos min_sup, ulang sampai nggak ada kandidat lagi.

Hasilnya
Setelah semua langkah selesai, kita dapet satu kombinasi yang sering muncul: {Pisang, Wortel, Susu}, karena kombinasi ini support-nya 2 atau setara 40% (2 ÷ 5 = 0.4), karena itemset ini muncul 2 kali dari 5 transaksi. Nah, setelah dapet frequent itemset {Pisang, Wortel, Susu}, kita bisa bikin aturan asosiasi biar supermarket bisa kasih rekomendasi ke pelanggan. Ingat di langkah awal sebelumnya kita menentukan minimum support dan minimum confidence. Di sini kita tinggal memanfaatkan minimum confidence tersebut untuk membuat aturan asosiasi (association rules). Aturan ini bentuknya “Jika beli A, maka beli B”. Kita hitung tingkat kepercayaan tiap aturan dari {Pisang, Wortel, Susu}:

  • Pisang → Wortel, Susu: 66.7% (dibuang).
  • Wortel → Pisang, Susu: 66.7% (dibuang).
  • Susu → Pisang, Wortel: 66.7% (dibuang).
  • Pisang, Wortel → Susu: 100% (lolos).
  • Pisang, Susu → Wortel: 100% (lolos).
  • Wortel, Susu → Pisang: 66.7% (dibuang).

Ingat nilai persen tersebut didapatkan dari rumus confidence:
Confidence = (Jumlah transaksi yang mengandung antecedent DAN consequent) ÷ (Jumlah transaksi yang mengandung antecedent)

Contoh: Pisang → Wortel, Susu (Confidence 66.7%), didapatkan dari:

  • Semua item di aturan (Pisang, Wortel, Susu) muncul 2 kali (Transaksi 2 sama 3).
  • Pisang sendiri muncul 3 kali (Transaksi 1, 2, 3).
  • Jadi, confidence-nya = 2 ÷ 3 = 66.7%.

Sehingga dari aturan asosiasi yang terbentuk sebelumnya, yang lolos cuman dua jika kita menyetel nilai minimum confidence 70%:

  • Jika beli Pisang dan Wortel, maka beli Susu (support 40%, confidence 100%).
  • Jika beli Pisang dan Susu, maka beli Wortel (support 40%, confidence 100%).

What’s the Insight?#

Hmm, di sini menariknya dari interpretasi teknik asosiasi yang telah kita buat, pihak supermarket bisa mendapatkan insight atau pengetahuan. Yang mana di sini supermarket bisa melancarkan trik marketingnya. Kalau si nenek beli Pisang dan Wortel, supermarket bisa rekomendasikan Susu, karena 100% pelanggan yang beli Pisang dan Wortel juga beli Susu (confidence 100%). Atau kalau si nenek beli Pisang dan Susu, supermarket bisa saranin Wortel. Makanya, Pisang, Wortel, dan Susu ditempatin berdekatan, biar si nenek (dan pelanggan lain) tergoda beli lebih banyak. Jadi, si nenek yang awalnya cuma mau beli Pisang, akhirnya bawa pulang Wortel dan Susu juga untuk bikin jus. Menarik bukan?

Apriori Algorithm (Associated Learning) in Data Mining
https://y-intelligence.vercel.app/posts/association-apriori/
Author
Y-Intelligence
Published at
2025-04-29