#srs #sistem #rekomendasi #ecommerce
Sistem
rekomendasi didefenisikan sebagai aplikasi pada website e-commerce untuk mengusulkan informasi dan menyediakan fasilitas
yang diinginkan pengguna dalam membuat suatu keputusan. Sistem ini diasumsikan seperti
penggambaran kebutuhan dan keinginan pengguna melalui pendekatan metode
rekomendasi dengan mencari dan merekomendasikan suatu item dengan menggunakan
rating berdasarkan kemiripan dari karakteristik informasi pengguna.
Konsep Dasar Collaborative
Filtering
Collaborative filtering merupakan proses
penyaringan atau pengevaluasian item menggunakan opini orang lain.
Collaborative filtering melakukan penyaringan data berdasarkan
kemiripan karakteristik konsumen sehingga mampu memberikan informasi yang baru
kepada konsumen karena sistem memberikan informasi berdasarkan pola satu
kelompok konsumen menjadikan sumber informasi baru yang mungkin bermanfaat bagi
anggota kelompok lainnya.
Secara
umum proses pemberian rekomendasi terdiri atas tiga langkah, yaitu: penemuan similar user, pembuatan ketetanggan (neighborhood) dan perhitungan prediksi
berdasarkan tetangga yang dipilih. Collaborative filtering
menghasilkan prediksi atau rekomendasi bagi pengguna atau pelanggan yang dituju
terhadap satu item atau lebih. Item dapat terdiri atas apa saja yang dapat
disediakan manusia seperti misalnya buku, film, seni, artikel atau tujuan
wisata. Rating dalam collaborative
filtering dapat berbentuk, (a) model rating skalar yang terdiri atas rating
numerik seperti 1 sampai 5; (b) model rating biner dengan memilih antara setuju
atau tidak setuju atau dapat pula baik atau buruk; (c) rating unary dapat
mengindikasikan bahwa pengguna telah mengobservasi atau membeli item atau
merating item dengan positif.
Tidak
tersedianya rating mengindikasikan tidak terdapat informasi yang menghubungkan
pengguna dengan item. Rating dapat dikumpulkan secara eksplisit, implisit, ataupun
gabungan antara eksplisit dan implisit. Rating eksplisit yaitu rating yang
didapatkan pada saat pelanggan/pengguna diminta menyediakan opini terhadap item
tertentu. Rating implisit yaitu rating yang didapatkan melalui aksi yang
dilakukan pelanggan.
Algoritma Collaborative Fitering
Schafer
membagi algoritma collaborative filtering
ke dalam dua kelas yang berbeda menurut teori dan kepraktisannya, yaitu
algoritma non-probabilistik dan algoritma probabilistik. Suatu algortima
dianggap probabilistik bila algoritma tersebut berdasarkan model probabilistik.
Algoritma tersebut mewakili distribusi probabilistik saat menhitung prediksi
rating atau daftar rangking rekomendasi. Algoritma non-probabilistik yang
terkenal yaitu nearest neighbors
algorithm. Algoritma ini dibagi menjadi dua kelas yaitu user-based dan item-based.
a.
User-Based
Collaborative Filtering
User-based
nearest neighbor algorithm menggunakan teknik statistika untuk menemukan
sekumpulan pengguna, dikenal sebagai tetangga (neighbour), yang memiliki sejarah setuju dengan pengguna yang
menjadi sasaran. Setelah sekumpulan tetangga terbentuk, sistem menggunakan
algoritma yang berbeda untuk menggabungkan kesukaan neighbour untuk menghasilkan prediksi atau rekomendasi N-teratas
untuk active user.
b.
Item-Based
Collaborative Filtering
Metode item-based
collaborative filtering memanfaatkan rating atau catatan transaksi dalam
membuat rekomendasi. Pada metode ini korelasi yang dicari adalah pada item yang
telah dirating oleh user, kemudian sejumlah item lainnya yang berkorelasi
dijadikan sebagai top-N daftar rekomendasi. Motivasi kunci dibalik metode ini
adalah user akan cenderung menyukai item yang sejenis atau mempunyai korelasi
dengan item yang telah disukainya.
Tahap awal dari metode item-based collaborative filtering adalah menghitung nilai
kemiripan diantara item yang telah dirating oleh user, bentuk penilaian dari
user sendiri biasanya adalah berupa rating dalam skala tertentu.
Untuk menghitung nilai kemiripan diantara dua item,
digunakan rumus adjusted-cosine similarity yang menghasilkan nilai MAE (mean absolute error) paling rendah dan
dengan waktu yang paling cepat.
Dapat dilihat seperti Gambar:
Gambar Ilustrasi Skema Item-based Collaborative Filtering
Gambar diatas menggambarkan bagaimana item-based
collaborative filtering memberikan rekomendasi terhadap user C, item yang
direkomendasikan terhadap user C adalah item 3. Hal tersebut dikarenakan item 3
mempunyai korelasi yang tinggi dengan item 2 yang telah disukai sebelumnya oleh
user C.
Berikut adalah persamaan adjusted
cosine similarity yang digunakan untuk menghitung nilai kemiripan diantara
item.
Persamaan
adjusted cosine :
Keterangan :
sim(i,j) = Nilai kemiripan antara item i dan item j.
u∈U = Himpunan user u yang merating item
i dan item j.
R(u,i) = Rating user u pada item i.
R(u,j) = Rating user u pada item j.
Dalam menghitung nilai kemiripan, nilai yang akan dihasilkan
oleh persamaan adjusted-cosine similarity
adalah berkisar antara +1.0 dengan -1.0, sedangkan informasi korelasi antara
dua item diketahui jika:
a. Nilai kemiripan 0 : Kedua item tidak berkorelasi
(independen).
Nilai
kemiripan mendekati +1.0 : Kedua item cenderung akan mirip antara satu dengan
yang lainnya, jadi apabila rating suatu item telah diketahui maka rating item
yang lainnya dapat diketahui dan disimpulkan dengan probabilitas yang tinggi.
b. Nilai
kemiripan mendekati -1.0 : Kedua item saling bertolak belakang dan dalam kasus ini juga rating suatu item bisa ditentukan
berdasarkan rating dari item lainnya, tapi keadaannya sekarang apabila rating
item pertama meningkat maka rating item kedua justru akan sebaliknya, yaitu
menurun.
Tahapan selanjutnya yang paling penting dalam proses
collaborative filtering adalah membuat prediksi. Setelah mendapatkan sekumpulan
item yang sangat mirip berdasarkan perhitungan kemiripan, dilakukan proses
prediksi yang nantinya akan memperkirakan nilai rating dari user bagi suatu
item yang belum pernah dirating sebelumnya oleh user tersebut.
Teknik yang digunakan untuk mendapatkan nilai prediksi adalah
dengan persamaan weighted sum, teknik
ini memprediksi item j untuk user u dengan menghitung jumlah nilai rating yang
diberikan oleh user terhadap item yang berkorelasi dengan item j. Setiap rating
yang diberikan pada item yang berkorelasi, akan dikalikan dengan nilai
kemiripannya. Kemudian dibagi dengan jumlah nilai absolut kemiripan seluruh
item yang berkorelasi.
Persamaan
weighted sum :
Keterangan :
P(u,j) = Prediksi untuk user u pada item j.
i∈I = Himpunan item yang mirip dengan item
j.
R(u,i) = Rating user u pada item i.
S(i,j) = Nilai kemiripan antara item i dan item j.
Sebagai contoh untuk
menentukan rekomendasi dengan menggunakan metode item-based collaborative
filtering, diketahui
skenario rating seperti tabel berikut:
Tabel Skenario Rating
|
Produk A
|
Produk B
|
Produk C
|
Produk D
|
Produk E
|
Produk F
|
Rata-rata Rating
|
Member 1
|
-
|
5
|
4
|
3
|
-
|
-
|
4
|
Member 2
|
-
|
-
|
3
|
2
|
4
|
1
|
2,5
|
Member 3
|
-
|
3
|
-
|
-
|
-
|
3
|
3
|
Member 4
|
4
|
-
|
-
|
1
|
-
|
-
|
2,5
|
Member 5
|
-
|
2
|
2
|
4
|
-
|
5
|
3,25
|
Member 6
|
-
|
5
|
-
|
4
|
-
|
-
|
4,5
|
Dengan menggunakan persamaan adjusted cosine, berikut
contoh kesamaan antara produk B dan C yaitu :
Setelah menghitung kesamaan nilai yang lainnya
menggunakan rumus yang sama seperti diatas, diperoleh tabel kesamaan nilai
antarproduk sebagai berikut :
Tabel Hasil Kesamaan Antar Produk
Produk 1
|
Produk 2
|
Nilai Kemiripan
|
Produk A
|
Produk B
|
0
|
Produk A
|
Produk C
|
0
|
Produk A
|
Produk D
|
-1
|
Produk A
|
Produk E
|
0
|
Produk A
|
Produk F
|
0
|
Produk B
|
Produk C
|
0,78
|
Produk B
|
Produk D
|
-0,97
|
Produk B
|
Produk E
|
0
|
Produk B
|
Produk F
|
-1
|
Produk C
|
Produk D
|
-0,66
|
Produk C
|
Produk E
|
1
|
Produk C
|
Produk F
|
-0,95
|
Produk D
|
Produk E
|
-1
|
Produk D
|
Produk F
|
0,99
|
Produk E
|
Produk F
|
-1
|
Nilai yang dihasilkan oleh persamaan adjusted cosine adalah antara -1.0 hingga +1.0. Jika nilai
koefisien semakin mendekati +1, maka hubungan antara kedua produk tersebut akan
sangat kuat. Jika koefesiennya berada ditengah-tengah (0), maka kedua produk
tersebut tidak ada hubungannya (independen). Sebaliknya jika nilai yang
dihasilkan -1, maka kedua produk tersebut sangat berbeda jauh atau bertolak
belakang.
Setelah memperoleh nilai kesamaan antarproduk, nilai yang
lebih besar dari 0 akan digunakan untuk mendapatkan nilai prediksi, karena
nilai tersebut dianggap sebagai batas bawah keterhubungan antarproduk. Untuk
memperoleh nilai prediksi dari suatu produk yang belum di rating oleh member, digunakan persamaan weightedsum.
Setelah menghitung nilai prediksi yang lainnya menggunakan rumus yang sama seperti diatas,
diperoleh tabel hasil prediksi
sebagai berikut :
Tabel Hasil Prediksi
Member
|
Produk
|
Prediksi
|
1
|
A
|
-3
|
1
|
E
|
0,5
|
1
|
F
|
-1,98
|
2
|
A
|
-2
|
2
|
B
|
-0,22
|
3
|
A
|
0
|
3
|
C
|
-0,29
|
3
|
D
|
0,03
|
3
|
E
|
-3
|
4
|
B
|
-1
|
4
|
C
|
-1
|
4
|
E
|
-1
|
4
|
F
|
1
|
5
|
A
|
-4
|
5
|
E
|
-2,33
|
6
|
A
|
-4
|
6
|
C
|
0,88
|
6
|
E
|
-4
|
6
|
F
|
-0,52
|
Dari Tabel di atas dapat dilihat bahwa
member 1 mendapatkan rekomendasi produk E, member 3 mendapatkan rekomendasi
produk D dan produk D,member 4 mendapatkan rekomendasi produk F, dan member 6
mendapatkan rekomendasi produk C .
asdas
BalasHapushello Ryan
BalasHapusmau nanya dong, saat gw itung similarity antara produk A dengan produk B mendapatkan hasilnya -0.93. kok lo bisa dapet 0 ya?
gw menggunakan member 1 dan 6 untuk perbandingan. tolong penjelasannya, terima kasih ya
Komentar ini telah dihapus oleh pengarang.
HapusLihat di keterangan dari persamaan adjusted cosine similarity :
Hapusu∈U = Himpunan user u yang merating item i dan item j.
disebutkan bahwa hanya himpunan dari user yang sama-sama merating kedua item i dan j. (dalam hal ini Produk A dan B).
karena produk A dan B tidak ada yang user yang memberikan rating di kedua produk tersebut. maka nilai similarity tidak dihitung, dianggap independen dan tidak ada korelasi sehingga diberi nilai 0.
hallo..
BalasHapusitu untuk menghitung nilai prediksi saya belum paham..
tolong donk contoh perhitungannya jangan cuma satu..
please please :))
balas yaaa...
2-3,25 pada contoh hitungan adjust cosine itu drmn y
BalasHapusgan, saya mau menanyakan hal yg sama seperti atas ane.
BalasHapusjd (2 - 3,25) didapet dari mana ya?
mohon dijawab gan. terimakasih.
nilai rating dikurangi dengan rata rata rating dari user
HapusHalo om, itu caranya menghitung prediksi produknya gmana ya? Kok saya ngitung prediksi member 1 terhadap item E hasilnya 0,33. Tapi kok itu hasilnya 0,5. Kira" dimana salah saya om? Thanks
BalasHapushalo gan, saya mau nannya, untuk sumber skenario table, misal member A punya nilai 5 untuk produk B dan 4 untuk produk C.
BalasHapuskalo untuk realnya nilai 4 dan 5 untuk member A itu di dapat dari mana yah? bisa kasih pencerahannya?
rating gan itu dari nilai review
HapusKa mau nanya dong hasil persamaan itu aku kan coba hitung sendiri yang B dan D,C dan D hasil nya beda ya sama kk,salah nya dimana ya ka boleh kasih tau cara nya punya kk gak bisa dapet hasil itu��
BalasHapusKomentar ini telah dihapus oleh pengarang.
BalasHapus