Sistem Rekomendasi Collaborative Filtering

Anak Agung Adi Widya Kusuma
BISA.AI
Published in
4 min readMar 9, 2020
Photo by Nathan Dumlao on Unsplash

Pernahkah terpikirkan oleh kalian, setiap kita menonton YouTube maupun berbelanja online sering muncul konten atau item yang direkomendasikan kepada kita untuk ditonton maupun dibeli. Bagaimana cara mereka untuk menemukan rekomendasi tersebut? Cara yang mereka gunakan adalah membangun sebuah sistem rekomendasi yang dapat membantu dalam memberikan rekomendasi kepada user berdasarkan kebiasaaan dari user itu sendiri.

Saat ini, item-based collaborative filtering merupakan algoritma sistem rekomendasi yang popular. Item-based collaborative filtering yang diluncurkan oleh Amazon.com pada 1998 secara dramatis meningkatkan kemampuan dari sistem rekomendasi yang telah digunakan pada saat itu. Sebelum diluncurkan sistem ini, telah ada beberapa sistem rekomendasi yang dikembangkan oleh industri maupun akademisi yang berdasarkan pada user-based collaborative filtering. Sistem tersebut memiliki masalah besarnya komputasi. Semenjak algoritmanya dipublikasikan pada IEEE Internet Computing pada tahun 2003, system tersebut mulai diadopsi oleh web-web raksasa, seperti YouTube, Netflix, dan sebagainya.

Perbedaan User-based dengan Item-based Collaborative Filtering

Misal kita memiliki data rating film yang pernah ditonton oleh beberapa orang user sebagai berikut.

Tabel User-Item

Tujuan utama dari sistem rekomendasi adalah untuk merekomendasikan top-N film untuk seorang user, misalkan untuk Adi. Untuk dapat melakukan itu, pertama-tama perlu diprediksi terlebih dahulu rating dari film yang belum ditonton oleh Adi (Iron Man 3) lalu diambil dua film (top-2) yang telah diberi rating tertinggi oleh Adi.

1. User-based Collaborative Filtering

Langkah 1: Menghitung similarity/kemiripan antara Adi dengan user lainnya

Persamaan yang digunakan adalah sebagai berikut.

Persamaan untuk menghitung similarity

Persamaan (1) menghitung similarity antara user x dan y berdasarkan rating dari semua film yang ditonton oleh user x dan y.

Perhitungan similarity diantara Adi dan Haris dapat diperoleh dengan menggunakan persamaan (1) sebagai berikut:

Similarity antara Adi dan Alfi dapat diperoleh dengan cara yang sama.

Langkah 2: Memprediksi rating dari film yang belum ditonton oleh Adi

Persamaan yang dapat digunakan adalah sebagai berikut.

Persamaan untuk Menghitung Rating

dimana

Pertama-tama nilai k dihitung dengan memasukkan nilai similarity yang telah dihitung pada langkah 1, sehinga diperoleh,

Sekarang, film Iron Man 3 yang belum ditonton oleh Adi dapat diprediksi ratingnya sebagai berikut:

Tabel rating film yang telah ditonton oleh Adi diberikan sebagai berikut.

Langkah 3: Memilih top-2 film dengan rating tertinggi

Berdasarkan tabel pada langkah 2 maka top-2 film yang direkomendasikan kepada Adi adalah Dilan 1990 dan Iron Man 3.

2. Item-based Collaborative Filtering

Langkah 1: Transpose matriks user-item menjadi matriks item-user

Tabel Item-User

Langkah 2: Menghitung similarity diantara dua item dan bentuk matriks similarity berdasarkan item-item tersebut. Persamaan yang digunakan sama seperti pada persamaan (1). Perhitungan similarity antara Avengers: End Game dan Teman Tapi Menikah 2 dapat dijabarkan sebagai berikut:

Dengan menggunakan cara yang serupa, similarity antara film yang lain dapat dihitung dan diperoleh matriks sebagai berikut.

Matriks Similarity antar Film

Nilai 0 menunjukkan similarity antara dua film tidak dapat dihitung karena adanya sparsity pada data.

Langkah 3: Memprediksi rating dari film yang belum ditonton oleh Adi

Persamaan yang digunakan adalah sebagai berikut.

Perhitungannya dapat dirinci sebagai berikut:

Langkah 4: Memilih top-2 film dengan rating tertinggi untuk Adi

Tabel rating film yang telah ditonton oleh Adi diberikan sebagai berikut.

Berdasarkan tabel di atas, maka top-2 film yang akan direkomendasikan kepada Adi untuk ditonton adalah Dilan 1990 dan salah satu dari Avengers:End Game, Iron Man 3, atau Thor 2.

Penutup

Sekian pembahasan mengenai contoh sistem rekomendasi dengan menggunakan algoritma colllaborative filtering. Pada postingan selanjutnya akan dibandingkan kelebihan dan kekurangan antara kedua algoritma yang telah dibahas sebelumnya.

--

--