Senin, 10 Maret 2014

#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.
Ru           = Nilai rata-rata rating user u.

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 .

13 comments:

  1. hello Ryan
    mau 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

    BalasHapus
    Balasan
    1. Komentar ini telah dihapus oleh pengarang.

      Hapus
    2. Lihat di keterangan dari persamaan adjusted cosine similarity :
      u∈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.

      Hapus
  2. hallo..
    itu untuk menghitung nilai prediksi saya belum paham..
    tolong donk contoh perhitungannya jangan cuma satu..
    please please :))
    balas yaaa...

    BalasHapus
  3. 2-3,25 pada contoh hitungan adjust cosine itu drmn y

    BalasHapus
  4. gan, saya mau menanyakan hal yg sama seperti atas ane.
    jd (2 - 3,25) didapet dari mana ya?
    mohon dijawab gan. terimakasih.

    BalasHapus
    Balasan
    1. nilai rating dikurangi dengan rata rata rating dari user

      Hapus
  5. Halo 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

    BalasHapus
  6. halo gan, saya mau nannya, untuk sumber skenario table, misal member A punya nilai 5 untuk produk B dan 4 untuk produk C.
    kalo untuk realnya nilai 4 dan 5 untuk member A itu di dapat dari mana yah? bisa kasih pencerahannya?

    BalasHapus
    Balasan
    1. rating gan itu dari nilai review

      Hapus
  7. May Anggraini13/8/19 1:24 AM

    Ka 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��

    BalasHapus
  8. Komentar ini telah dihapus oleh pengarang.

    BalasHapus

Bebas, Sopan, No Sara. :)