Apa itu Algoritma Apriori?
Algoritma apriori adalah algoritma yang digunakan untuk mengetahui hubungan atau asosiasi antara satu objek/item dengan objek lain dalam suatu dataset.
Dengan kata lain, algoritma apriori berupaya mengetahui bagaimana dua atau lebih objek berkaitan satu sama lain. Algoritma ini bisa juga diartikan untuk menganalisis bagaimana orang yang membeli produk A juga membeli produk B sekaligus.
Algoritma apriori umumnya digunakan di data mining.
Untuk memudahkan dalam memahami algoritma apriori, perhatikan ilustrasi berikut.
Sebuah swalayan memiliki database tentang barang yang dibeli pelanggan di toko mereka. Menggunakan algoritma apriori, swalayan berusaha mengungkap hubungan dan pola dari barang-barang yang dijual. Hasilnya, swalayan tersebut mengetahui bahwa ketika pelanggan membeli kopi, mereka juga membeli gula.
Kejadian ini menunjukkan hubungan yang kuat antara dua item tersebut.
Asosiasi yang ditemukan antar item seperti ilustrasi di atas dapat membantu bisnis dalam membuat keputusan untuk meningkatkan penjualan sekaligus kepuasan pelanggan.
Mengapa Menggunakan Algoritma Apriori?
Dirangkum dari EDUCBA, berikut beberapa manfaat menggunakan algoritma apriori:
- Meningkatkan efisiensi asumsi pencarian pelanggan terhadap produk yang akan dibeli.
- Meningkatkan akurasi identifikasi item yang sering dibeli bersamaan agar bisa diletakkan di satu tempat berdekatan.
- Mengurangi maupun menghilangkan item yang tidak berhubungan.
- Memudahkan untuk memodelkan minat pengguna.
- Mengurangi ruang penyimpanan dengan memindahkan item yang tidak perlu.
Komponen dan Contoh Algoritma Apriori
Javatpoint menjelaskan tiga komponen algoritma apriori, yaitu support, confidence, dan lift.
Agar memudahkan pemahaman tentang ketiga komponen tersebut, berikut contoh studi kasusnya.
Toko pakaian A memiliki total 3.000 transaksi. Dari 3.000 transaksi tersebut, 800 transaksi membeli baju/atasan (A), 500 transaksi membeli celana/bawahan (B), dan 300 transaksi membeli atasan sekaligus bawahan (A+B).
Dengan menggunakan data di atas, toko akan menghitung support, confidence, dan lift.
Support
Support mengacu pada persentase popularitas rata-rata produk atau item apa pun yang ada di kumpulan data. Support bisa diperoleh dengan membagi jumlah transaksi yang terdiri dari produk tersebut dengan jumlah total transaksi.
Support = jumlah transaksi terjadinya A : jumlah semua transaksi
Support (baju/atasan) = 800 : 3.000
Support (baju/atasan) = 800 : 3.000 = 26,67%
Confidence
Confidence merupakan persentase kemungkinan pelanggan membeli dua item yang berkaitan secara bersamaan. Angka ini didapatkan dari membagi jumlah transaksi yang membeli baju dan celana sekaligus (A+B) dengan jumlah transaksi terjadinya A.
Confidence = Jumlah transaksi terjadinya A+B : jumlah transaksi terjadinya A
Confidence = 300 : 800
Confidence = 37,5%
Lift
Lift mengukur rasio penjualan baju saat toko juga menjual celana. Berikut cara menghitungnya.
Lift = {confidence (celana dan baju) : support (baju)}
Lift = 37,5 : 26,67 = 1,40
Artinya, peluang orang membeli baju dan celana bersamaan adalah 1,40 kali lebih besar dibandingkan orang membeli baju saja.
Semakin besar nilainya, semakin baik kombinasi keduanya. Apabila nilai lift kurang dari satu, orang tidak mungkin membeli kedua item tersebut secara bersamaan.
FAQ (Frequently Asked Question)
Apa saja kelebihan dan kekurangan algoritma apriori?
Engati Simply Intelligence dan Data Overload (melalui Medium) menjabarkan kelebihan dan kekurangan algoritma apriori, yaitu:
Kelebihan
- Cukup mudah dan sederhana untuk diimplementasikan.
- Aturan dalam algoritma mudah dipelajari, digunakan, ditafsirkan, dan dibaca.
- Cocok dipakai untuk data yang tidak berlabel (unlabeled data).
- Fleksibel dan dapat disesuaikan dengan data.
- Bisa digunakan untuk menghitung kumpulan item yang jumlahnya besar/banyak.
Kekurangan
- Perlu menghabiskan banyak waktu: penerapan algoritma apriori dapat memakan banyak waktu, terutama jika menghitung kumpulan data besar yang memerlukan banyak kombinasi dan langkah.
- Membutuhkan banyak memori: dikarenakan harus menangani kumpulan data dalam jumlah besar, algoritma apriori juga memerlukan memori dalam jumlah besar.
- Sulitnya mencari dukungan: algoritma apriori perlu melakukan perhitungan di seluruh database, sehingga perlu tetap mempertahankan dukungan sumber daya yang layak.