Machine Learning: Eclat

Machine Learning: Eclat

Bahasa R

# Menginstall package arules
# install.packages('arules')
library(arules)

# Mengimpor dataset
dataset = read.csv('optimisasi_retail.csv', header = FALSE)
dataset = read.transactions('optimisasi_retail.csv', sep = ',', rm.duplicates = TRUE)
summary(dataset)
itemFrequencyPlot(dataset, topN = 10)

# Training eclat ke dataset
rules = eclat(data = dataset, parameter = list(support = 0.003, minlen = 2))

# Visualisasi hasil eclat
inspect(sort(rules, by = 'support')[1:10])

Penjelasan:

  • Line 2 menginstall package ‘arules’. Jika belum terinstall, hilangkan tanda pagar. Jika sudah terinstall, abaikan saja.
  • Line 3 mengaktifkan library (package) arules.
  • Line 6 mengimpor datasetnya. Kita set header = FALSE agar kolom paling atas di dataset bukanlah barang belanjaan yang dibeli, melainkan hanya kolom kosong. Jika sudah coba klik 2x pada dataset, maka tampilannya sebagai berikut:

Tampilan dataset di Rstudio
  • Line 7 sama seperti line 6, hanya saja kita menggunakan perintah dari package arules yaitu read.transactions. Mengapa tidak langsung menggunakan dataset yang dihasilkan dari line 6? Karena kita tidak bisa menggunakan format di atas. Kita harus menggunakan format khusus untuk package arules. Kita set parameter sep=’,’ (separatornya adalah koma), dan rm.duplicates=TRUE (artinya kita tidak ingin ada duplikat 2 item dalam 1 transaksi, misalnya kasir tidak sengaja scan barcode keju sebanyak 2x, padahal barangnya hanya 1 buah saja misalnya).
  • Line 8 adalah perintah untuk melihat ringkasan dari dataset. Jika dieksekusi, maka tampilannya adalah sebagai berikut:

Tampilan summary dataset di Rstudio
  • Line 9 adalah perintah untuk menampilan item apa saja yang sudah dibeli oleh pelanggan yang diurutkan mulai dari yang terbanyak. Kita ingin menampilkan 10 item terbanyak saja (topN = 10). Jika ingin item lebih banyak yang ditampilkan, cukup ganti nilai topN nya. Tampilan untuk 10 item adalah sebagai berikut:

Histogram 10 item apa saja yang paling banyak dibeli
  • Line 12 adalah perintah untuk mentraining datasetnya dan mengaplikasi algoritma eclat. Kita definisikan variabel rules untuk modelnya, dan kita gunakan perintah eclat (dari package arules). Untuk melihat parameter apa saja yang diperlukan, cukup arahkan kursor ke apriori dan ketik F1 di keyboard, maka tampilannya sebagai berikut:

Parameter eclat di Rstudio
  • Line 15 adalah melihat 10 hubungan eclat yang dihasilkan. Kita urutkan berdasarkan nilai support-nya. Hasilnya tampak sebagai berikut:

Hasil 10 hubungan teratas menggunakan metode eclat

Sekarang kita mengetahui 10 hubungan teratas melalui metode eclat. Hasil yang diberikan sama dnegan ketika kita menggunakan bahasa Python, dengan posisi pertama adalah pasangan air mineral-spageti. Kemudian dilanjutkan dengan urutan kedua yaitu air mineral-coklat. Urutan ketiga air mineral-telur, dan seterusnya.

Lalu keputusan dan langkah apa yang bisa kita ambil setelah mendapatkan hasil di atas? Anggap saja kita menggunakan 5 hubungan eclat teratas, maka kita tidak langsung mendekatkan produk-produk tersebut saling berdasarkan berdasarkan hubungan eclatnya masing-masing. Kita harus tanyakan dulu ke lantai produksi (mereka yang mendesain layout supermarket) mana yang paling memungkinkan untuk dilakukan?

Ada hal-hal yang harus dipertimbangkan oleh pengambil keputusan. Misalnya, apakah ada alasan logis air mineral harus dekat dengan spageti? Bagaimana jika air mineral dan spageti justru harus dijauhkan, agar mereka setelah memberi air mineral dan saat mau mencari spageti, biarkan pembeli jalan-jalan dulu (putar-putar mencari spageti) sehingga ada kemungkinan ia juga mengambil produk-produk lain di antara keduanya (air mineral-spageti).

Semua keputusan harus betul-betul masak dan penuh pertimbangan. Mengapa demikian, karena dalam dunia bisnis kita harus mempertimbangkan banyak aspek, misal kesan konsumen terhadap layout baru kita, bagaimana image kita di hadapan konsumen setelah perubahan layout, dan sebagainya.


Saya harap metode eclat ini yang merupakan bagian dari ARL bisa memberikan pembaca gambaran bahwa AI dan ML bisa diaplikasikan dalam dunia bisnis, khususnya ritel. Semoga pembaca juga bisa mengaplikasikan eclat dan apriori untuk permasalahan di dunia nyata lainnya.

Pantau terus web saya ini, karena saya akan terus berbagi teknik AI lainnya beserta aplikasinya.

Terima kasih dan semoga bermanfaat!

Pages: 1 2 3

Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments