Pages

Selasa, 02 Januari 2018

Program Recommender Movie

Makalah tentang Sistem Recommender




Oleh :
Hafiyan Nafan Kusuma Satria (16.01.63.0004)
Septina Budi Kurniawati (15.01.63.0020)

Dosen Pengampu : 
Dr. Drs. Eri Zuliarso,M.Kom


FAKULTAS TEKNOLOGI INFORMASI
UNIVERSITAS STIKUBANK
SEMARANG
2017



I. Pengertian Recommender System

Recommender system atau Sistem Rekomender merupakan bagian dari information filtering systems yang memprediksi tingkat atau kecenderungan pengguna. Recommender System sangat umum diaplikasikan pada tahun – tahun terakhir  pada berbagai bidang, yang paling populer ada pada bidang film, musik, berita, buku, artikel penelitian, query pencarian, social tags, dan produk secara umum.

Recommender system menghasilkan daftar rekomendasi dalam satu atau dua cara, yaitu melalui penyaringan konten yang kolaboratif. Pendekatan penyaringan kolaboratif membangun model dari perilaku pengguna dimasa lampau  lalu menggunakan model tersebut untuk memprediksi item yang mungkin diminati oleh pengguna. Pendekatan content-based filtering menggunakan serangkaian karakteristik diskrit dari item untuk merekomendasikan item tambahan dengan properti yang sama. Perbedaan antara Collaborative Filtering dengan Content Based Filtering dapat digambarkan dalam kasus pandora dan last.fm sebagai aplikasi perekomendasi musik.

Collaborative Filtering

Metode Collaborative Filtering ini didasarkan pada pengumpulan dan analisa informasi dalam jumlah besar.  Baik mengenai perilaku, aktivitas, dan kecenderungan pengguna dalam rangka untuk memprediksi apa yang disukai oleh pengguna berdasarkan kemiripan dengan pengguna lainnya. Keuntungan utama dari pendekatan collaborative filtering ini adalah tidak membutuhkan mesin untuk menganalisa konten. sehingga handal dalam merekomendasikan item yang kompleks secara akurat. Seperti contoh, ada satu film tanpa perlu memahami item film itu sendiri. Banyak algoritma yang digunakan untuk mengukur kesamaan pengguna atau kesamaan item dalam system rekomendasi. sebagai cointohnya pendekatan collaborative filtering berdasarkan asumsi bahwa orang yang setuju dengan yang lampau akan menyetujui di masa depan dan mereka akan menyukai item dengan jenis yang sama dengan yang lampau. Collaborative Filtering memiliki 3 masalah utama, antara lain :
  • Cold Start (Sistem ini sering membutuhkan data yang tersedia dalam jumlah besar untuk dapat menghasilkan rekomendasi yang akurat).
  • Scalability (Terdapat jutaan pengguna dan produk yang tersedia, sehingga membutuhkan kekuatan komputasi yang sangat besar untuk mengkalkulasi rekomendasi).
  • Sparsity (Ada kemungkinan item yang benar – benar dibutuhkan oleh pengguna yang memiliki rating kecil dikarenakan tertutupi oleh item lain).


Content Based Filtering

Metode ini didasarkan pada deskripsi dari item dan profil kecenderungan pengguna. Pada metode Content Based Filtering ini memiliki kata kunci tersendiri dan digunakan untuk mendeskripsikan item, sedangkan profil pengguna dibangun untuk mengingikasikan item yang disukai oleh pengguna. Dengan kata lain, algorutma ini mencoba untuk merekomendasikan item yang sama dengan apa yang disukai pengguna pada masa lampau atau memeriksa kecenderungan saat ini. Secara khusus, kandidat item yang bermacam – macam dibandingkan dengan item berdasarkan pada pengambilan informasi dan penyaringan informasi.

Untuk menciptakan profil pengguna, sistem berfokus pada 2 tipe informasi, yaitu model kecenderungan pengguna dan riwayar interaksi pengguna pada sistem rekomendasi. Pada dasarnya metode ini menggunakan profil item (sejumlah atribut dan fitur diskrit) yang mengkarakterisasi item dalam sistem. Sistem membuat profil berbasis konten dari pengguna berdasarkan fitur item pada vektor yang dibobotkan. Bobot menandakan pentingnya setiap fitur pada pengguna dan dapat dihitung secara individual menggunakan berbagai teknik. Pendekatan sederhana menggunakan nilai rata – rata dari nilai vector item menggunakan metode machine learning seperti Bayesian Classifier, CLuster Analysis, Decission Trees, dan Artifical Neural Networks untuk mengestimasi kemungkinan bahwa user akan menyukai item.

Feedback langsung dari pengguna menggunakan tombol suka atau tidak suka, dapat digunakan untuk menentukan bobot yang lebih tinggi atau lebih dari beberapa atribut penting. Isu penting dari content ini adalah apakah sistem ini dapat mempelajari kecenderungan dari aksi pengguna yang berhubungan dengan 1 sumber konten dan menggunakannya disemua tipe konten.

Hybrid Recommender Systems

Berdasarkan penelitian yang telah didemondtrasikan adalah pendekatan hybrid yang menggabungkan collaborative filtering dan content based filtering dapat lebih efektif pada beberapa kasus. Pendekatan hybrid dapat diimplementasikan pada beberapa cara, antara lain :
  • Membuat prediksi berbasis konten dan kolaborasi secara terpisah lalu mengkombinasikannya.
  • Menambahkan kapabilitas berbasis konten pada pendekatan berbasis kolaborasi ataupun sebaliknya.
  • Menyatukaan pendekatan menjadi sebuah model.
Hybrid Recommender System ini menggabungkan berbagai teknik untuk mencapai sinergi dalam teknik tersebut, berikut tekniknya :
  1. Collaborative (Sistem yang menghasilkan rekomendasi hanya dengan menggunakan informasi mengenai rating profil dari berbagai user).
  2. Content Based (Sistem yang menghasilkan dari 2 sumber, fitur yang berhubungan dengan produk dan rating yang diberikan pengguna pada mereka).
  3. Demografi (Sistem rekomendasi ini berdasarkan pada demografi profil pengguna. Produk yang direkomendasikan dari berbagai ceruk demografis dengan cara mengkombinasikan rating user pada ceruk tersebut).
  4. Knowledge Based (Sistem ini menyarankan produk berdasarkan kesimpulan mengenai kebutuhan dan kecenderungan pengguna).

II. Fungsi Recommender System
Berikut adalah fungsi dari Recommender System :
  1. Memberikan solusi atau referensi tentang apa saja yang paling banyak diminati/disukai oleh customer.
  2. Bisa untuk strategi marketing.
  3. Meningkatkan loyalitas customer karena sebagai contoh dengan mengetahui apa saja produk yang diminati kebanyakan dari customer akan di sediakan lebih banyak pada toko.
  4. Memberikan peluang baik di dunia bisnis dan ilmu pengetahuan.


III. Tahapan implementasi Recommender System
Langkah-langkah pengimplementasian dari Recommender System :
1. Buka aplikasi Rstudio Versi 1.1.383
2. Klik File -> New File -> R Script -> simpan dengan nama yang diinginkan
3. Masuk pada script,  instal terlebih dulu recommenderlab 
> install.packages(‘recommenderlab’)
4. Load library yang dibutuhkan
> library(datasets)
> library(recommenderlab)
> library(ggplot2)
5. Load data yang akan di gunakan
> data(MovieLense)
> MovieLense
sehingga hasilnya akan seperti dibawah


6.  Visualisasi contoh
> image(sample(MovieLense, 500), main = ‘Raw ratings’)

7. Visualisasi rating
> qplot(getRatings(MovieLense), binwidth = 1,
+ main = ‘Histogram of ratings’, xlab = ‘Rating’)

8. Miring ke kanan
> summary(getRatings(MovieLense))
maka hasilnya seperti berikut,


9. Rata-rata berapa banyak orang yang menonton film
>    qplot(rowCounts(MovieLense), binwidth = 10,
+    main = ‘Movies Rated on average’,
+    xlab = ‘# of users’,
+    ylab = ‘# of movies rated’)    


     10. Rating film dengan kecepatan logaritmik
> recommenderRegistry$get_entries(dataType = ‘realRatingMatrix’)
    maka hasilnya seperti berikut,
    
    
    11. Untuk Algoritma lainnya
>  scheme <- evaluationscheme="" method="‘split’," ovielense="" train=".9,<br"> + k = 1, given = 10, goodRating = 4)
> scheme
hasilnya seperti berikut,

12. Selanjutnya setelah script “scheme” diatas maka ketikkan lagi script dibawah, 
> algorithms <- items="" list="" name="’RANDOM’," nbsp="" param="list(normalize" random="" score="" span="">
+ ‘popular items’ = list(name=’POPULAR’, param=list(normalize = ‘Z-score’)), 
+ ‘user-based CF’ = list(name=’UBCF’, param=list(normalize = ‘Z-score’, 
method=’Cosine’,
+ nn=50, minRating=3)))

13. Kemudian jalankan algoritmanya untuk memprediksi film berikutnya
results <- 10="" 15="" 20="" 3="" 5="" algorithms="" br="" evaluate="" n="c(1," scheme=""> maka hasilnya seperti berikut,

14. Lihat hasil plot nya
> plot(results, annotate = 1:4, legend=’topleft’)

15. Untuk melihat presisinya
> plot(results, ‘prec/rec’, annotate=3)

0 komentar:

Posting Komentar

Lets the spirit of learning :)