Last Updated on 11 years by Hafizh Herdi
Pada kesempatan kali ini, saya akan sedikit berbagi tentang bagaimana cara membuat sistem rekomendasi atau recommender system menggunakan metode collaborative filtering. Sebelumnya saya sudah menulis tentang apa itu rekomendasi sistem, metode apa saja yang digunakan, dan lain sebagainya di postingan ini.
Oke, kali ini saya hanya akan membahas perancangan sistem rekomendasi yang menggunakan metode item based collaborative filtering. Apa itu? Mari kita simak. 🙂
Metode Collaborative Filtering
Collaborative filtering, atau yang biasa disebut dengan crowd-wisdom adalah salah satu metode rekomendasi yang menggunakan data rating dari seorang pengguna, dan pengguna lain untuk menghasilkan rekomendasi. Collaborative filtering menganggap bahwa selera pengguna terhadap suatu item atau barang akan cenderung sama dari waktu ke waktu. Ditambah lagi, pengguna yang menyukai suatu item biasanya juga akan menyukai item lain yang disukai oleh pengguna lain yang juga menyukai item yang sama dengan pengguna tersebut.
Contoh gampangnya seperti ini, misalnya kalian menyukai film Lord of The Ring, kemudian menggunakan sistem rekomendasi, kalian ingin mengetahui film-film lainnya yang mirip atau mempunyai genre yang sama dengan Lord of The Ring. Dalam pemrosesan, sistem kemudian menemukan bahwa orang-orang yang menyukai Lord of The Ring biasanya juga suka film-film The Hobbit, Game of Thrones, dan Seven Kingdoms. Dari hasil tersebut, maka sistem memutuskan bahwa ketiga film itulah yang akan direkomendasikan kepada kalian.
Item-based collaborative filtering
Metode collaborative filtering sendiri dibagi lagi menjadi dua, yaitu user based dan item based. Bedanya, jika user based menghitung kesamaan di antara pengguna sebagai parameter untuk menghasilkan rekomendasi. Maka item based akan menghitung kesamaan di antara item, dilihat dari rating yang diberikan pengguna untuk item tersebut.
Untuk membuat sistem rekomendasi menggunakan metode item based collaborative filtering, ada dua langkah yang harus dilakukan, yaitu seperti berikut.
Menghitung Similarity
Pertama-tama, kita harus menghitung similarity antara satu item dengan item lainnya. Rumus yang biasa dipakai adalah cosine similarity measure, yang menghitung kemiripan antara dua item dari sudut kosinus yang terbuat diantara kedua item tersebut. Sehingga apabila nilai cosinus-nya adalah 1, maka item tersebut benar-benar identik. Sedangkan jika nilainya 0, maka kedua item tersebut sama sekali tidak mempunyai kemiripan.

Rumus cosine similarity measure
Jika kemiripan sudah dihitung, maka kita akan mengurutkan item-item berdasarkan similarity mereka, item-item yang mempunyai similarity besar akan berada pada urutan atas, dan sebaliknya.
Menghitung prediksi rating
Setelah itu, langkah kedua yang harus dilakukan adalah menghitung prediksi rating dari item-item tersebut. Perhitungan rating dilakukan dengan cara membandingkan rating yang pernah diberikan pengguna pada suatu item dengan kemiripan antara item tersebut dengan item lainnya. Metode yang dipakai adalah menggunakan metode weighted sum.

Rumus Weighted Sum
Jika prediksi rating sudah dihitung, maka rekomendasi item pun dapat dihasilkan. 😀
Inilah sedikit yang bisa saya sampaikan. Untuk implementasinya menggunakan PHP, tunggu postingan berikutnya. 🙂
salam kenal mas,
tulisan yg bagus, ditunggu postingan mengenai implementasi collaborative filtering pada php 🙂
gann…. setuju ama yg atas… phpnya donk … ada lagi skripsi juga… pake metode ini juga.. tp pake pearson correlation dengan weighted sum… 🙂
Terima kasih postingannya mas, cukup mencerahkan
ditunggu postingan selanjutnya yang tentang implementasi di PHP 🙂
Saya mau lihat contohnya, rencana saya mau implementasikan di android apps yang ingin saya buat.
Terima kasih
makasih sharing ilmunya
Penjelasannya bagus sangat membantu, ditunggu lanjutan pembahasannya demi pencerahan 😀
Mau tanya kalau pakai rumus Euclidean Distance score, apakah termasuk ke dalam kategori rekomendasi?
Kalau teknik Euclidean Distance Score mungkin termasuk dalam kategori mencari Measure Similarity tiap user sebelum menentukan prediksi rating atau kesukaan user terhadap suatu item. Kalau penjelasan di atas menggunakan teknik Cosine Similarity, selain itu kita juga bisa menggunakan Teknik Correlation.
permisi, bisa minta tutorial untuk coding sistem rekomendasi ini tidak ya? jika perlu konsultasi langsung, caranya bagaimana?kontak kemana? terima kasih sebelumnya
saya juga butuh banget,
untuk codingan nya bisa di share tidak bang? saya sangat sanagt butuh sekaliiii.. saya mohonnnn
Bisa follow & DM IG saya ya
Halo mas hafizh, ig nya apa ya? saya butuh implementasi php nya mas, terima kasih🙏🏼
ada di sidebar kanan ya Instagramnya
Halo gan masih open untuk implementasi phpnya mas? soalnya ignya ganti username ya? hehe