Mencari Similarity Produk dengan Algoritma Adjusted Cosine & Memprediksi Rekomendasi dengan Algoritma Weighted Sum
Metode Sistem Rekomendasi dengan menggunakan Metode Item-Based Collaborative Filtering
ryanfikri
mf.ryanfikri@gmail.com
Proses menentukan rekomendasi : 1. Mencari rata2 rating user terhadap keseluruhan barang (item) yang telah diberi rating. 2. Mencari rata2 rating per masing2 barang (item). 3. Menghitung nilai similarity antar objek (nilai kemiripan antara satu item dengan item2 lainnya). Algoritma yang digunakan adjusted cosine. 4. Menentukan batas minimum nilai kemiripan produk. Memfilter produk2 yang memiliki kemiripan . 5. Menghitung nilai prediksi dengan menggunakan algoritma weighted sum Tahapan ini dilakukan untuk memperkirakan rating yang akan diberikan oleh seorang user, pada suatu item yang belum pernah diberi rating oleh user itu. 6. Menentukan nilai minimum prediksi yang akan ditampilkan. Memfilter nilai prediksi per user berdasarkan nilai minimum yang ditentukan. 7. Menampilkan hasil rekomendasi. Dimana dari penggunaan 2 algoritma tersebut sistem bisa menampilkan 2 jenis rekomendasi, yaitu : a. Rekomendasi yang bersifat umum Rekomendasi umum, memanfaatkan nilai kemiripan yang sudah dihitung sebelumnya. Setiap user, siapapun itu, akan mendapatkan rekomendasi yang sama. b. Rekomendasi yang bersifat khusus Setiap user akan mendapatkan rekomendasi yang berbeda. Pembuatan rekomendasi memanfaatkan nilai prediksi yang telah dihitung dengan menggunakan rumus weighted sum. Persamaan Adjusted Cosine :
Keterangan :
S (i,j) = Nilai kemiripan antara item i dengan item j u U = Himpunan user yang me-rating baik item i maupun item j Ru,i Ri Ru,j Rj Ru = Rating user u pada item i = Nilai rating rata-rata item i = Rating user u pada item j = Nilai rating rata-rata item j = Nilai rating rata-rata user u
kedua item
mendekati +1, maka kedua item akan semakin mirip satu sama lain. Sebaliknya, jika mendekati -1, kedua item itu akan semakin bertolak belakang. Jika 0, maka tidak mirip sama sekali.
Keterangan : P(a,j) = Prediksi rating item j oleh user a iI Ra,i Si,j = Himpunan item yang mirip dengan item j = Rating user a pada item i = Nilai similarity antara item i dan item j
( )
( ( (
) )
Contoh penerapan algoritma adjusted cosine dan weighted sum pada tabel rating didalam database.
idRating 1 2 3 4 5 6 7 8 9 10 11 12
idMember 1 2 3 4 5 6 7 8 9 10 11 12
idBarang a b c a c a b c d b c d
nilaiRating 3 5 3 1 2 4 2 4 2 5 4 2
a 3 1 4 2.67
b 5 2 5 4
c 3 2 4 4 3.25
d 2 2 2
Cara dan bentuk yang sebenarnya didalam database tersebut adalah sebagai berikut ; 1. Mencari rata2 rating member terhadap keseluruhan barang yang diberi rating. Setelah dimasukan query untuk mencari rata-rata rating member maka hasil dapat dilihat seperti tabel berikut : idMember 1 2 3 4 rata2RatingMember 3.6667 1.5000 3.000 3.6667
2. Mencari rata-rata rating keseluruhan barang. Setelah dimasukan query untuk mencari rata-rata rating barang, maka hasil dapat dilihat seperti tabel berikut : idBarang a b c d rata2RatingBarang 2.6667 4.0000 3.2500 2.0000
3. Menghitung nilai similarity (kemiripan) antar barang dengan menggunakan algoritma adjusted cosine. Hasil yang didapat setelah rumus algoritma dituangkan ke dalam bentuk query adalah sebagai berikut.
) ( ( ) ( ) )( ( ( ) ) ( ( ) ( ) ( ) ( ) ( )( ) ) ) ( ( ( ) )( ) ) ( )
( ( ( ( (
) ) ) ) )
idBarang 1 a a a b b c
idBarang 2 b c d c d d
4. Menentukan
nilai
minimum
ketika
suatu
barang
dikatakan
mirip
dan
direkomendasikan. Misalnya nilai kemiripan >= 0.7 Jadi nilai yang kecil dari nilai kemiripan tidak akan direkomendasikan.
5. Menghitung nilai prediksi dengan menggunakan algoritma weighted sum., dimana nilai yang diolah hanya lebih besar atau sama dengan nilai kemiripan yaitu 0.7.
Smart Recommender System (e-Commerce) mf.ryanfikri@gmail.com
Bentuk hasil nilai prediksi setelah dituangkan ke dalam query adalah sebagai berikut :
( ( (
) )
idMember 1 2 3 4
idBarang d b d a
nilaiPrediksi 4
6. Menentukan nilai prediksi yang akan direkomendasikan. Misalnya nilai prediksi >= 3. Maka yang direkomendasikan adalah yang memenuhi nilai_prediksi >= 3.
7. Maka nilai rekomendasi yang ditampilkan adalah : a. Rekomendasi umum idBarang 1 a idBarang 2 c nilaiKemiripan 0.704926
Artinya : ketika pengunjung atau member melihat barang b, maka yang direkomendasikan adalah barang dengan id a, begitu juga sebalikya.
KESIMPULAN! Dari hasil pencarian similarity . Filter nilai similarity >=0.7. Cek data data belanja user, bandingkan dengan data similarity, apabila terdapat barang yang dibeli oleh user yang memiliki nilai similarity dengan barang lain, tetapi barang lain tersebut belum pernah dibeli maka baru dilakukan perhitungan nilai prediksi untuk si user tersebut. Apabila nilai prediksi melebihi 3 maka hasilnya akan di ditampilkan di halaman beranda si user.