PERBANDINGAN PENYEDERHANAAN DIMENSI USER-ITEM MATRIX DENGAN METODE MISSING VALUES RATIO DAN LOW VARIANCE FILTER
PADA SISTEM REKOMENDASI FILM BERBASIS COLLABORATIVE FILTERING
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer
Program Studi Informatika
Oleh:
Flaviana Abriani Halim 175314030
PROGRAM STUDI INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA YOGYAKARTA
2021
i
PERBANDINGAN PENYEDERHANAAN DIMENSI USER-ITEM MATRIX DENGAN METODE MISSING VALUES RATIO DAN LOW VARIANCE FILTER
PADA SISTEM REKOMENDASI FILM BERBASIS COLLABORATIVE FILTERING
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer
Program Studi Informatika
Oleh:
Flaviana Abriani Halim 175314030
PROGRAM STUDI INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA YOGYAKARTA
2021
ii
COMPARISON OF THE SIMPLIFICATION OF THE DIMENSIONS OF THE USER-ITEM MATRIX WITH THE MISSING VALUES RATIO AND LOW VARIANCE FILTER METHODS ON A COLLABORATIVE FILTERING-BASED
FILM RECOMMENDATION SYSTEM
THESIS
Present as Partial Fulfillment of the Requirements for Obtain Sarjana Komputer Degree in Informatics Study Program
By:
Flaviana Abriani Halim 175314030
INFORMATICS STUDY PROGRAM FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY YOGYAKARTA
2021
v
HALAMAN PERSEMBAHAN
“Jika mampu bertahan di masa sulit, kamu akan merasakan hasilnya!”
Dengan rendah hati dan penuh syukur saya dedikasikan skripsi ini untuk:
Tuhan Yesus Kristus & Bunda Maria Bapa, Mama, Kakak dan Kedua Adikku Teman-teman, keluarga, kenalan, dan kerabat,
dan secara khusus
Almamater tercinta, Universitas Sanata Dharma
viii ABSTRAK
Banyaknya film yang diproduksi tiap tahun menyebabkan masyarakat kesulitan memilih film yang sesuai dengan selera mereka. Untuk menghindari hal tersebut serta menghemat waktu para penikmat film, maka diperlukan suatu sistem yang akan merekomendasikan film sesuai informasi yang didapat dari penikmatnya.
Salah satu pendekatan yang biasa digunakan dalam membangun sistem rekomendasi adalah pendekatan collaborative filtering yakni user-based collaborative filtering dan perhitungan similaritas antara user menggunakan metode cosine similarity.
Dataset yang dipakai memiliki jumlah data yang banyak sehingga membentuk ukuran matriks yang besar dan berpengaruh pada proses komputasi yang lama. Oleh karena itu, maka sistem akan menggunakan metode missing values ratio dan low variance filter sebagai langkah awal untuk menyederhanakan dimensi matriks sehingga proses komputasi lebih cepat. Sistem akan diuji coba untuk melihat perbandingan tingkat akurasi dan lama waktu komputasi yang dihasilkan ketika sistem menggunakan metode penyederhanaan dimensi dan tanpa metode penyederhanaan dimensi.
Hasil dari penelitian ini menunjukkan bahwa sistem yang menggunakan metode penyederhanaan dimensi baik itu MVR ataupun LVF dapat mempercepat proses rekomendasi dan memberikan nilai error yang lebih kecil dibandingkan ketika sistem tidak menggunakan penyederhanaan dimensi. Selain itu, rata-rata selisih tingkat akurasi menggunakan MVR lebih baik meskipun memiliki selisih yang tidak signifikan dengan LVF. Sedangkan rata-rata selisih konsumsi waktu menggunakan LVF lebih baik meskipun memiliki selisih yang tidak signifikan dengan MVR.
Kata kunci: Sistem Rekomendasi, Missing Values Ratio, Low Variance Filter, Collaborative Filtering, User-Based Collaborative Filtering, Cosine Similarity.
ix ABSTRACT
The number of films produced each year makes it difficult for people to choose films that suit their tastes. To avoid this and save time for movie lovers, a system that recommends movies is needed according to the information obtained from the audience. One of the approaches commonly used in building recommendation systems is the collaborative filtering approach, namely user-based collaborative filtering, and the calculation of similarity between users using the cosine similarity method.
The dataset used has a large amount of data so that it forms a large matrix size and affects the long computational process. Therefore, the system will use the methods missing values ratio and low variance filter as the first step to simplify the dimensions of the matrix so that the computational process is faster. The system will be tested to see a comparison of the level of accuracy and the computational time generated when the system uses the dimensional simplification method and without the dimensional simplification method.
This study indicates that a system that uses the dimensional simplification method, either MVR or LVF, can speed up the recommendation process and provide a value error smaller than when the system does not use dimensional simplification.
In addition, the average difference in the level of accuracy using MVR is better even though it has an insignificant difference with LVF. While the average difference in time consumption using LVF is better even though it has an insignificant difference with MVR.
Keywords: Recommender System, Missing Values Ratio, Low Variance Filter, Collaborative Filtering, User-Based Collaborative Filtering, Cosine Similarity.
x
KATA PENGANTAR
Puji dan syukur kepada Tuhan Yang Maha Esa karena atas segala berkat, rahmat, dan bimbingan-Nya sehingga peneliti dapat menyelesaikan skripsi yang berjudul “PERBANDINGAN PENYEDERHANAAN DIMENSI USER-ITEM MATRIX DENGAN METODE MISSING VALUES RATIO DAN LOW VARIANCE FILTER PADA SISTEM REKOMENDASI FILM BERBASIS COLLABORATIVE FILTERING”. Peneliti menyadari bahwa skripsi ini tidak mungkin selesai tepat waktu tanpa bantuan dari berbagai pihak. Oleh karena itu, peneliti ingin mengucapkan terima kasih kepada semua pihak yang dengan caranya masing-masing telah membantu peneliti dalam proses penyelesaian skripsi ini, khususnya kepada:
1. Bapak Sudi Mungkasi, S. Si., M.Mat., Ph.D. selaku Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma.
2. Bapak Robertus Adi Nugroho, S.T., M.Eng. selaku Ketua Program Studi Informatika Universitas Sanata Dharma serta dosen pembimbing skripsi yang telah meluangkan waktu untuk memberikan arahan dan bimbingan kepada peneliti selama proses pengerjaan skripsi ini.
3. Segenap dosen Informatika yang telah membagikan ilmu dan pengalaman kepada peneliti selama perkuliahan di Universitas Sanata Dharma.
4. Kedua orang tua tercinta, Bapa Lambertus Halim dan Mama Lusia Lajum serta saudara/i saya tercinta kakak Fransiska Atrik Halim, adik Eufrosina Sovia Halim dan Yohanes Juliosen Wuang yang selalu memberikan semangat, motivasi, dan penghiburan kepada peneliti selama proses pengerjaan skripsi ini.
xii DAFTAR ISI
HALAMAN JUDUL ... i
TITLE PAGE ... ii
HALAMAN PERSETUJUAN PEMBIMBING ... iii
HALAMAN PENGESAHAN ... iv
HALAMAN PERSEMBAHAN ... v
PERNYATAAN KEASLIAN KARYA ... vi
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH ... vii
ABSTRAK ... viii
ABSTRACT ... ix
KATA PENGANTAR ... x
DAFTAR ISI ... xii
DAFTAR TABEL ... xvi
DAFTAR GAMBAR ... xviii
DAFTAR RUMUS ... xx
DAFTAR GRAFIK ... xxi
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Rumusan Masalah ... 4
1.3 Tujuan Penelitian ... 4
xiii
1.4 Manfaat Penelitian ... 5
1.5 Batasan Masalah ... 5
1.6 Sistematika Penulisan ... 6
BAB II LANDASAN TEORI ... 7
2.1 Sistem Rekomendasi ... 7
2.2 Collaborative Filtering ... 8
2.3 Cosine Similarity... 10
2.4 Perhitungan Rating Prediksi ... 11
2.5 Mean Absolute Error (MAE) ... 12
2.6 Missing Values Ratio ... 13
2.7 Low Variance Filter... 13
2.8 Penelitian Relevan ... 14
BAB III METODE PENELITIAN... 17
3.1 Deskripsi Data Penelitian... 17
3.1.1 Sumber Data ... 17
3.1.2 Struktur Data Mentah ... 17
3.2 Desain Penelitian ... 18
3.2.1 Perancangan Sistem ... 18
3.2.2 Pengujian Sistem ... 20
3.2.3 Analisis Hasil ... 21
3.2.4 Penarikan Simpulan dan Saran ... 22
3.3 Contoh Implementasi Algoritma... 22
3.3.1 Missing Values Ratio ... 24
3.3.2 Low Variance Filter ... 29
3.4 Desain GUI ... 34
xiv
3.5 Kebutuhan Perangkat Software dan Hardware ... 36
3.5.1 Software ... 36
3.5.2 Hardware ... 36
BAB IV IMPLEMENTASI DAN ANALISIS HASIL ... 37
4.1 Implementasi Sistem ... 37
4.1.1 Graphic User Interface ... 37
4.1.2 Hasil Rekomendasi tanpa Penyederhanaan Dimensi ... 40
4.1.3 Hasil Rekomendasi dengan Penyederhanaan Dimensi ... 41
4.1.3.1 Metode Missing Values Ratio ... 41
4.1.3.2 Metode Low Variance Filter ... 43
4.1.4 Perbandingan Hasil Rekomendasi ... 46
4.2 Analisis Hasil ... 48
4.2.1 Skenario Uji Coba... 48
4.2.2 Uji Coba Jumlah Maximum Neighbor ... 49
4.2.2.1 Normal tanpa Penyederhanaan Dimensi ... 49
4.2.2.2 Data Missing Values Ratio ... 50
4.2.2.3 Data Low Variance Filter ... 52
4.2.3 Uji Coba Threshold MVR ... 54
4.2.4 Uji Coba Threshold LVF ... 57
4.2.5 Uji Akurasi... 60
4.2.6 Uji Coba Konsumsi Waktu ... 63
BAB V PENUTUP ... 65
5.1 Kesimpulan ... 65
5.2 Saran ... 66
DAFTAR PUSTAKA ... 67
xv
LAMPIRAN ... 69
1. Hasil MAE dan Konsumsi Waktu Menggunakan MVR ... 69
1.1. Tabel Hasil MAE pada Data MVR dengan Maximum Neighbors 10 ... 69
1.2. Tabel Hasil MAE pada Data MVR dengan Maximum Neighbors 15 ... 70
1.3. Tabel Hasil MAE pada Data MVR dengan Maximum Neighbors 20 ... 70
1.4. Tabel Hasil Konsumsi Waktu pada Data MVR dengan Maximum Neighbors 10 ... 71
1.5. Tabel Hasil Konsumsi Waktu pada Data MVR dengan Maximum Neighbors 15 ... 72
1.6. Tabel Hasil Konsumsi Waktu pada Data MVR dengan Maximum Neighbors 20 ... 72
2. Hasil MAE dan Konsumsi Waktu Menggunakan LVF ... 74
2.1. Tabel Hasil MAE pada Data LVF dengan Maximum Neighbors 10... 74
2.2. Tabel Hasil MAE pada Data LVF dengan Maximum Neighbors 15... 75
2.3. Tabel Hasil MAE pada Data LVF dengan Maximum Neighbors 20... 75
2.4. Tabel Hasil Konsumsi Waktu pada Data LVF dengan Maximum Neighbors 10 ... 76
2.5. Tabel Hasil Konsumsi Waktu pada Data LVF dengan Maximum Neighbors 15 ... 77
2.6. Tabel Hasil Konsumsi Waktu pada Data LVF dengan Maximum Neighbors 20 ... 78
xvi
DAFTAR TABEL
Tabel 3.1 Contoh Data Film ... 22
Tabel 3.2 Hasil Perhitungan Missing Values Ratio ... 24
Tabel 3.3 Hasil Penyederhanaan Dimensi MVR ... 25
Tabel 3.4 Hasil Similaritas Antar User Contoh 1 ... 26
Tabel 3.5 Urutan User Berdasarkan Similaritas Contoh 1 ... 27
Tabel 3.6 Top-3 Neighbors Contoh 1 ... 27
Tabel 3.7 Hasil Perhitungan MAE Contoh 1 ... 28
Tabel 3.8 Hasil Perhitungan Varians Data ... 29
Tabel 3.9 Hasil Penyederhanaan Dimensi LVF ... 30
Tabel 3.10 Hasil Similaritas Antar User Contoh 2 ... 31
Tabel 3.11 Urutan User Berdasarkan Similaritas Contoh 2 ... 31
Tabel 3.12 Top-3 Neighbors Contoh 2 ... 32
Tabel 3.13 Hasil Perhitungan MAE Contoh 2 ... 33
Tabel 4.1 Uji Coba Maximum Neighbors 10 pada Data Normal ... 49
Tabel 4.2 Uji Coba Maximum Neighbors 10 pada Data MVR ... 50
Tabel 4.3 Uji Coba Maximum Neighbors 15 pada Data MVR ... 50
Tabel 4.4 Uji Coba Maximum Neighbors 20 pada Data MVR ... 51
Tabel 4.5 Uji Coba Maximum Neighbors 10 pada Data LVF ... 52
Tabel 4.6 Uji Coba Maximum Neighbors 15 pada Data LVF ... 52
Tabel 4.7 Uji Coba Maximum Neighbors 20 pada Data LVF ... 53
Tabel 4.8 Uji Coba Threshold MVR ... 54
Tabel 4.9 Uji Coba Threshold LVF ... 57
Tabel 4.10 Uji Akurasi Active User 7 ... 60
Tabel 4.11 Uji Akurasi Active User 23 ... 60
Tabel 4.12 Uji Akurasi Active User 112 ... 61
Tabel 4.13 Uji Akurasi Active User 277 ... 61
xvii
Tabel 4.14 Uji Akurasi Active User 421 ... 61 Tabel 4.15 Uji Konsumsi Waktu 5 Active Users ... 63
xviii
DAFTAR GAMBAR
Gambar 2.1 Konsep User-based Collaborative Filtering ... 9
Gambar 3.1 Flowchart Perancangan Sistem ... 19
Gambar 3.2 Diagram Pengujian Sistem ... 20
Gambar 3.3 Desain GUI Hasil Rekomendasi tanpa Penyederhanaan Dimensi ... 34
Gambar 3.4 Desain GUI Hasil Rekomendasi Menggunakan MVR ... 35
Gambar 3.5 Desain GUI Hasil Rekomendasi Menggunakan LVF ... 35
Gambar 3.6 Desain GUI Hasil Perbandingan MAE ... 36
Gambar 4.1 GUI tanpa Penyederhanaan Dimensi ... 37
Gambar 4.2 GUI Missing Values Ratio ... 38
Gambar 4.3 GUI Low Variance Filter ... 39
Gambar 4.4 GUI Perbandingan Hasil ... 39
Gambar 4.5 GUI Hasil Rekomendasi tanpa Penyederhanaan Dimensi Active User 7 dengan Top-10 Neighbors ... 40
Gambar 4.6 GUI Hasil Rekomendasi tanpa Penyederhanaan Dimensi Active User 7 dengan Top-15 Neighbors ... 40
Gambar 4.7 GUI Hasil Rekomendasi tanpa Penyederhanaan Dimensi Active User 7 dengan Top-20 Neighbors ... 41
Gambar 4.8 GUI Hasil Rekomendasi MVR Active User 7 dengan Top-10 Neighbors ... 42
Gambar 4.9 GUI Hasil Rekomendasi MVR Active User 7 dengan Top-15 Neighbors ... 42
Gambar 4.10 GUI Hasil Rekomendasi MVR Active User 7 dengan Top-20 Neighbors ... 43
Gambar 4.11 GUI Hasil Rekomendasi LVF Active User 7 dengan Top-10 Neighbors ... 44
xix
Gambar 4.12 GUI Hasil Rekomendasi LVF Active User 7 dengan Top-15 Neighbors ... 44 Gambar 4.13 GUI Hasil Rekomendasi LVF Active User 7 dengan Top-20 Neighbors ... 45 Gambar 4.14 GUI Perbandingan Hasil MAE dan Konsumsi Waktu Active User 7 dengan Top-10 Neighbors ... 46 Gambar 4.15 GUI Perbandingan Hasil MAE dan Konsumsi Waktu Active User 7 dengan Top-15 Neighbors ... 47 Gambar 4.16 GUI Perbandingan Hasil MAE dan Konsumsi Waktu Active User 7 dengan Top-20 Neighbors ... 47
xx
DAFTAR RUMUS
Rumus 2. 1 Cosine Similarity User-Based CF (2.1) ... 10 Rumus 2. 2 Rating Prediksi (2.2) ... 11 Rumus 2. 3 MAE (2.3) ... 12
xxi
DAFTAR GRAFIK
Grafik 4. 1 Hasil Perbandingan Rata-rata MAE MVR 5 Active Users ... 55 Grafik 4. 2 Hasil Perbandingan Rata-rata Waktu MVR 5 Active Users ... 56 Grafik 4. 3 Hasil Perbandingan Rata-rata MAE LVF 5 Active Users ... 58 Grafik 4. 4 Hasil Perbandingan Rata-rata Waktu LVF 5 Active Users ... 59 Grafik 4. 5 Bar Graph Uji Akurasi 5 Active Users ... 62 Grafik 4. 6 Bar Graph Uji Coba Konsumsi Waktu 5 Active Users ... 63
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Pada saat ini masyarakat seringkali menggunakan waktu luang mereka untuk melakukan aktivitas yang mereka sukai. Salah satunya adalah menonton film. Menurut UU 8/1992, film adalah karya cipta seni dan budaya yang merupakan media komunikasi massa pandang-dengar yang dibuat berdasarkan asas sinematografi dengan direkam pada pita seluloid, pita video, piringan video, dan/atau bahan hasil penemuan teknologi lainnya dalam segala bentuk, jenis, dan ukuran melalui proses kimiawi, proses elektronik, atau proses lainnya, dengan atau tanpa suara, yang dapat dipertunjukkan dan/atau ditayangkan dengan sistem proyeksi mekanik, elektronik, dan/atau lainnya.
Sebelum dunia teknologi mengalami kemajuan pesat seperti sekarang, tidak banyak film yang diproduksi sehingga masyarakat tidak terlalu mengalami kesulitan dalam memilih film yang sesuai selera mereka untuk mereka tonton.
Namun, saat ini banyaknya film yang diproduksi tiap tahun menyebabkan masyarakat kesulitan memilih film yang sesuai dengan selera mereka. Ketika film yang ditonton tidak sesuai selera penikmatnya, maka akan menyebabkan penikmatnya cepat menjadi bosan dan bahkan berhenti menyaksikan film tersebut. Untuk menghindari hal tersebut serta menghemat waktu para penikmat film, maka diperlukan suatu sistem yang akan merekomendasikan film sesuai informasi yang didapat dari penikmatnya.
Beberapa penelitian terkait sistem rekomendasi film yang berpengaruh pada penelitian ini antara lain Hadi dkk (2020) yang melakukan penelitian tentang sistem rekomendasi film menggunakan user-based collaborative filtering dan K- modes filtering. Hasil dari penelitian ini adalahdari hasil pengujian jumlah cluster
terbaik yang digunakan untuk rekomendasi menggunakan Elbow Method dan Silhouette Coefficient, didapatkan jumlah cluster sebesar 3 yang merupakan jumlah cluster terbaik. Selain itu, hasil pengujian ketepatan rekomendasi dengan Mean Reciprocal Rank (MRR) dihasilkan rata-rata MRR sebesar 0.17092270381865 untuk rekomendasi film dengan rasio data train dan test sebesar 80%: 20%. Sedangkan rata-rata MRR sebesar 0.15072658511145 untuk rekomendasi film dengan rasio data train dan test sebesar 60%: 40%. Dari hasil 2 pengujian di atas dapat disimpulkan bahwa tingkat ketepatan dari rekomendasi film menurut MRR cukup rendah, karena berdasarkan kaidah MRR rekomendasi dikatakan kurang tepat apabila nilainya mendekati 0 dengan batas sebesar 0.5 dan dikatakan tepat apabila nilainya di atas 0.5 dan mendekati 1. Dwicahya (2018) melakukan penelitian tentang perbandingan sistem rekomendasi film metode user-based dan item-based collaborative filtering. Hasil dari penelitian ini diperoleh metode item-based CF memberikan prediksi rating paling baik pada jumlah maksimal neighbor 100 dengan nilai MAE sebesar 0.793895061, sedangkan user-based CF pada jumlah maksimal neighbor 70 dengan nilai MAE sebesar 0.800633522. Halim et al. (2017) melakukan penelitian tentang sistem rekomendasi film menggunakan bisecting k-means dan collaborative filtering.
Penelitian ini menunjukkan rekomendasi dengan bisecting k-means dan user- based collaborative filtering mendapatkan nilai MAE yang lebih rendah dibandingkan dengan bisecting k-means dan item-based collaborative filtering.
Salah satu pendekatan yang biasa digunakan dalam membangun sistem rekomendasi adalah pendekatan collaborative filtering. Collaborative filtering merupakan desain recommender system yang sudah sering digunakan. Metode penyaringan kolaboratif untuk memprediksi apa yang disukai pengguna tertentu (pengguna aktif) didasarkan pada pola penggunaan atau preferensi pengguna lain (Breese, Heckerman, and Kadie, 1998). Ketika menggunakan pendekatan ini, tahap awal yang dilakukan adalah menghitung nilai similaritas antara pengguna A dan pengguna lainnya (user-based) atau item A dengan item lainnya (item-based)
menggunakan metode cosine similarity. Selanjutnya akan ditentukan jumlah neighbor pengguna A atau item A dengan melihat nilai similaritas yang besar.
Dari perhitungan yang melibatkan sejumlah neighbor ini nantinya akan menghasilkan rating prediksi dari pengguna A terhadap film tertentu. Lalu selanjutnya akan dihitung error rating dilihat dari rating prediksi yang diberikan pengguna A dengan rating real menggunakan metode Mean Absolute Error (MAE). Semakin kecil nilai MAE yang diberikan, maka semakin baik rekomendasi film yang diberikan.
Salah satu penelitian terkait tentang pendekatan collaborative filtering yang berpengaruh pada penelitian ini antara lain Mahendra (2018) yang melakukan penelitian tentang sistem rekomendasi objek wisata Yogyakarta dengan pendekatan item-based collaborative filtering. Hasil akhir dari penelitian ini menunjukkan bahwa metode item-based collaborative filtering dapat digunakan untuk membangun sistem rekomendasi objek wisata dan cukup akurat dalam memprediksi rating objek wisata. Hal ini dibuktikan dengan hasil uji MAE, dimana pada maksimum neighbor 6 metode item-based collaborative filtering dapat memprediksi rating paling baik dengan MAE sebesar 0.6254. Nicosen (2020) yang melakukan penelitian tentang implementasi Principal Component Analysis pada sistem rekomendasi film dengan pendekatan user based collaborative filtering. Hasil akhir dari penelitian ini menunjukkan data direduksi dari 610×9742 menjadi 610×300, dimana sistem rekomendasi dengan PCA dan sistem rekomendasi tanpa PCA memiliki rata-rata selisih: MAE = 0.03, MSE = 0.05, RMSE = 0.03, dan waktu = 4.97 detik dimana komputasi PCA lebih cepat.
Oleh karena itu, peneliti akan mengkaji tentang sistem rekomendasi film menggunakan pendekatan collaborative filtering dengan memakai dataset dari MovieLens. Penelitian yang akan dilakukan peneliti akan menggunakan metode penyederhanaan dimensi yang berbeda dengan penelitian sebelumnya yang menjadi acuan dalam tulisan ini (Nicosen, 2020) dimana pada penelitian ini metode yang digunakan untuk penyederhanaan dimensi adalah missing values
ratio dan low variance filter. Dataset yang dipakai memiliki jumlah data yang banyak sehingga membentuk ukuran matriks yang besar dan berpengaruh pada proses komputasi yang memakan waktu yang lama. Untuk menghindari hal tersebut, maka dalam menerapkan pendekatan collaborative filtering pada sistem rekomendasi film, akan dipakai metode missing values ratio dan low variance filter sebagai langkah awal untuk menyederhanakan dimensi matriks yang berukuran besar sehingga proses komputasi lebih cepat.
1.2 Rumusan Masalah
Adapun rumusan masalah dalam penelitian ini adalah sebagai berikut:
1. Bagaimana implementasi penyederhanaan dimensi missing values ratio dan low variance filter terhadap sistem rekomendasi film berbasis pendekatan collaborative filtering?
2. Bagaimana pengaruh penyederhanaan dimensi missing values ratio dan low variance filter terhadap tingkat akurasi dan konsumsi waktu dari sistem rekomendasi film berbasis collaborative filtering?
1.3 Tujuan Penelitian
Berdasarkan rumusan masalah di atas, tujuan dilaksanakannya penelitian ini adalah:
1. Untuk mengetahui implementasi penyederhanaan dimensi missing values ratio dan low variance filter terhadap sistem rekomendasi film berbasis pendekatan collaborative filtering.
2. Untuk mengetahui pengaruh penyederhanaan dimensi missing values ratio dan low variance filter terhadap tingkat akurasi dan konsumsi waktu dari sistem rekomendasi film berbasis collaborative filtering.
1.4 Manfaat Penelitian
Adapun manfaat dari penelitian ini adalah:
1. Bagi Masyarakat
Melalui penerapan pendekatan collaborative filtering dalam sistem rekomendasi film, masyarakat dapat menonton film yang sesuai selera mereka tanpa perlu membuang waktu lagi.
2. Bagi Peneliti
Penelitian ini memberikan pengetahuan baru bagi peneliti dalam mengimplementasikan penyederhanaan dimensi missing values ratio dan low variance filter terhadap sistem rekomendasi film menggunakan pendekatan collaborative filtering. Selain itu, pengalaman yang diperoleh dalam penelitian ini menjadi bekal bagi peneliti saat terjun di dunia kerja.
1.5 Batasan Masalah
Batasan masalah pada sistem rekomendasi film menggunakan pendekatan collaborative filtering adalah sebagai berikut:
1. Dataset yang digunakan diambil dari MovieLens sebanyak 105339 data rating dan 10329 data film.
2. Pendekatan collaborative filtering yang dipakai adalah user-based collaborative filtering.
3. Perhitungan error rating menggunakan metode Mean Absolute Error (MAE).
4. Menggunakan bahasa pemrograman Python.
1.6 Sistematika Penulisan
Sistematika penulisan dalam penelitian ini sebagai berikut:
BAB I PENDAHULUAN
Pada bab ini membahas tentang latar belakang, rumusan masalah, tujuan penelitian, manfaat penelitian, batasan masalah serta sistematika penulisan dari penelitian yang dibuat.
BAB II LANDASAN TEORI
Pada bab ini membahas tentang teori-teori yang melandasi penelitian ini.
BAB III METODE PENELITIAN
Pada bab ini membahas tentang deskripsi data penelitian, desain penelitian, contoh implementasi algoritma, desain graphical user interface (GUI) serta kebutuhan perangkat software dan hardware.
BAB IV IMPLEMENTASI DAN ANALISIS HASIL
Pada bab ini membahas tentang implementasi perancangan perangkat lunak pada sistem yang dibuat serta analisis hasil yang dihasilkan oleh sistem.
BAB V PENUTUP
Pada bab ini membahas tentang simpulan dan saran terkait dengan penelitian yang dilakukan.
7
BAB II
LANDASAN TEORI
Topik yang akan dibahas dalam penelitian ini adalah implementasi penyederhanaan dimensi missing values ratio dan low variance filter terhadap sistem rekomendasi film menggunakan pendekatan collaborative filtering. Berikut akan dipaparkan beberapa teori serta informasi yang dipakai untuk mendukung penelitian.
2.1 Sistem Rekomendasi
Sistem rekomendasi adalah sebuah sistem pemberi rekomendasi yang menghitung dan menyediakan konten yang relevan kepada pengguna berdasarkan pengetahuan pengguna, konten, dan interaksi antara pengguna dan item.
Algoritma yang digunakan dalam pembuatan sistem rekomendasi terbagi menjadi 2 kelompok, dan bergantung pada jenis data yang digunakan untuk membuat rekomendasi. Algoritma yang menggunakan data pengguna disebut collaborative filtering (CF). Algoritma yang menggunakan metadata konten dan profil pengguna untuk menghitung rekomendasi disebut content based filtering.
Sedangkan campuran dari 2 rekomendasi ini disebut hybrid recommenders (Falk, 2019).
2.2 Collaborative Filtering
Ide dasar dari sistem ini adalah jika pengguna memiliki minat yang sama di masa lalu, misalnya jika mereka melihat atau membeli buku yang sama, mereka juga akan memiliki selera yang sama di masa mendatang. Jadi, jika misalnya pengguna A dan pengguna B memiliki riwayat pembelian yang sangat tumpang tindih dan pengguna A baru-baru ini membeli buku yang belum dilihat B, ini alasan dasar untuk mengusulkan buku ini juga ke B. Pemilihan buku ini diharapkan buku yang menarik karena melibatkan penyaringan yang paling menjanjikan dari kumpulan besar dan karena pengguna secara implisit berkolaborasi satu sama lain, teknik ini juga disebut collaborative filtering (CF) (Jannach et al., 2011).
Schafer membagi algoritma collaborative filtering ke dalam 2 kelas, yaitu algoritma non-probabilistik dan algoritma probabilistik. Suatu algoritma dianggap probabilistik bila algoritma tersebut didasarkan pada model probabilistik.
Algoritma tersebut mewakili distribusi probabilitas saat menghitung prediksi rating atau daftar rangking rekomendasi. Algoritma non-probabilistik yang terkenal yaitu nearest neighbors algorithm. Algoritma ini dibagi menjadi 2 kelas yaitu user-based dan item-based (Schafer dkk, 2007).
1. User-based Collaborative Filtering
Algoritma menghasilkan prediksi untuk pengguna berdasarkan peringkat dari pengguna serupa yang disebut sebagai tetangga. Jika pengguna n mirip dengan pengguna u, maka dapat dikatakan bahwa n adalah tetangga dari u. Algoritma berbasis pengguna menghasilkan prediksi untuk item i dengan menganalisis peringkat untuk i dari pengguna di lingkungan u.
Secara garis besar, konsep user-based collaborative filtering disajikan pada gambar 2.1:
Gambar 2.1 Konsep User-based Collaborative Filtering
Gambar 2.1 menggambarkan tentang proses pemodelan sistem rekomendasi menggunakan pendekatan user-based collaborative filtering.
Berdasarkan gambar di atas, posisi penerapan penyederhanaan dimensi yakni tepat sebelum dilakukan perhitungan similaritas antar pengguna aktif dengan pengguna lainnya. Hal ini menunjukkan bahwa penerapan penyederhanaan dimensi termasuk bagian dari preprocessing data sebelum masuk pada bagian pemodelan sistem rekomendasi menggunakan pendekatan user-based collaborative filtering.
2. Item-based Collaborative Filtering
Algoritma tetangga terdekat berbasis item adalah pengalihan dari algoritma berbasis pengguna. Sementara algoritma berbasis pengguna menghasilkan prediksi berdasarkan kesamaan antara pengguna, algoritma berbasis item menghasilkan prediksi berdasarkan kesamaan antara item.
Prediksi suatu item harus didasarkan pada peringkat pengguna untuk item serupa.
2.3 Cosine Similarity
Untuk menemukan item yang serupa, ukuran kesamaan harus ditentukan.
Dalam pendekatan rekomendasi berbasis item/user, cosine similarity ditetapkan sebagai metrik standar, karena telah terbukti menghasilkan hasil yang paling akurat. Metrik mengukur kemiripan antara 2 vektor berdimensi-n berdasarkan sudut di antara keduanya. Ukuran ini juga biasa digunakan di bidang pencarian informasi dan penambangan teks untuk membandingkan 2 dokumen teks, di mana dokumen direpresentasikan sebagai vektor istilah (Jannach et al., 2011).
Kesamaan antara 2 user i dan j dipandang sebagai korespondensi vektor rating i dan j yang secara formal dirumuskan sebagai berikut:
𝑠𝑖𝑚(𝑖, 𝑗) = 𝑟𝑖 . 𝑟𝑗
‖𝑟𝑖‖‖𝑟𝑗‖= ∑ 𝑟𝑢 𝑖,𝑢𝑟𝑗,𝑢
√∑ 𝑟𝑖,𝑢2
𝑢 √∑ 𝑟𝑗,𝑢2
𝑢
... (2.1) Rumus 2. 1 Cosine Similarity User-Based CF (2.1)
Dimana:
𝑠𝑖𝑚(𝑖, 𝑗) = nilai kemiripan (similarity) antara user i dan user j 𝑢 = jumlah total item yang di rating user i dan user j
𝑟𝑖 dan 𝑟𝑗 = rating yang diberikan oleh user i dan user j pada semua item 𝑟𝑖,𝑢 dan 𝑟𝑗,𝑢
=
rating yang diberikan user i dan user j kepada item u2.4 Perhitungan Rating Prediksi
Perhitungan rating prediksi dilakukan untuk mengetahui besar rating yang diberikan oleh user terhadap suatu item yang sebelumnya telah dinilai oleh user lain yang memiliki ketertarikan yang sama. Salah satu metode perhitungan rating prediksi ialah metode weighted sum baik untuk prediksi pada pendekatan user- based collaborative filtering maupun item-based collaborative filtering (Ricci dkk, 2011).
Rumus untuk menghitung prediksi pada pendekatan user-based collaborative filtering adalah:
𝑟 ̂ =
𝑢𝑖∑
𝑣 ∈ 𝑁𝑖(𝑢)𝑤
𝑢𝑣𝑟
𝑣𝑖∑
𝑣 ∈ 𝑁𝑖(𝑢)| 𝑤
𝑢𝑣|
... (2.2) Rumus 2. 2 Rating Prediksi (2.2)Dimana:
𝑟̂ 𝑢𝑖 = rating prediksi user u untuk item i 𝑁𝑖(𝑢) = tetangga terdekat user u
𝑤𝑢𝑣 = similarity user u dengan user v 𝑟𝑣𝑖 = rating user v terhadap item i
2.5 Mean Absolute Error (MAE)
Akurasi dapat diukur sebagai besarnya kesalahan antara peringkat yang diprediksi dan peringkat sebenarnya. Akurasi prediktif adalah kemampuan sistem collaborative filtering untuk memprediksi peringkat pengguna untuk suatu item.
Metode standar untuk menghitung akurasi prediksi adalah Mean Absolute Error (MAE) - perbedaan absolut rata-rata antara rating yang diprediksi dan rating aktual yang diberikan oleh pengguna. Keuntungan MAE adalah sederhana, dipahami dengan baik, dan uji signifikansi tradisional dapat diterapkan padanya (Schafer dkk, 2007).
Dari hasil MAE, dapat terlihat jelas seberapa “jauh” selisih nilai rating prediksi yang diberikan oleh sistem dengan nilai rating yang diberikan oleh pengguna. Semakin besar nilai yang dihasilkan oleh MAE maka dapat diartikan bahwa nilai prediksi yang dihasilkan semakin tidak akurat, sebaliknya jika nilai MAE yang dihasilkan mendekati 0 maka prediksi yang dihasilkan sistem semakin mendekati akurat (Theodorus dkk, 2016).
Rumus yang digunakan dalam evaluasi MAE dapat dilihat di bawah ini:
𝑀𝐴𝐸 = 1
𝑛 ∑ |𝑃
𝑎,𝑖− 𝑅
𝑎,𝑖|
𝑛
𝑖=1
... (2.3) Rumus 2. 3 MAE (2.3)
Dimana:
𝑛 = jumlah semua item pada daftar rekomendasi user aktif yang memiliki nilai prediksi
𝑃𝑎,𝑖 = nilai prediksi item ke-i milik user aktif
𝑅𝑎,𝑖 = rating yang diberikan oleh user aktif untuk item ke-i
2.6 Missing Values Ratio
Cara paling mudah untuk mengurangi dimensi data adalah dengan menghitung nilai yang hilang. Meskipun ada banyak strategi untuk menginterpolasi nilai yang hilang dalam kolom data, tidak dapat disangkal bahwa jika sebagian besar nilai data hilang, kolom data itu sendiri tidak dapat memuat informasi sebanyak itu. Dalam kebanyakan kasus, misalnya, jika kolom data hanya memiliki 5-10% dari nilai yang mungkin, kemungkinan besar tidak akan berguna untuk klasifikasi sebagian besar dokumen.
Kemudian kolom data dengan jumlah nilai yang hilang lebih besar dari threshold (ambang) tertentu dapat dihilangkan. Pemilihan nilai ambang tentu saja merupakan topik yang penting, karena nilai yang terlalu agresif akan mengurangi dimensi dengan mengorbankan kinerja, sementara nilai yang terlalu lunak mungkin tidak mendapatkan rasio pengurangan terbaik (Silipo et al., 2014).
2.7 Low Variance Filter
Cara lain untuk mengukur berapa banyak informasi yang dimiliki kolom data adalah dengan mengukur variansnya. Secara singkat jika sel kolom mengasumsikan nilai konstan, varians akan menjadi 0 dan kolom tidak akan membantu dalam membedakan berbagai kelompok data. Metode low variance filter menghitung setiap varians kolom dan menghapus kolom tersebut dengan nilai varians di bawah threshold (ambang) yang diberikan.
Varians hanya dapat dihitung untuk kolom numerik dan rentang kolom data perlu dinormalisasi untuk membuat nilai varians tidak bergantung dari rentang domain kolom (Silipo et al., 2014).
2.8 Penelitian Relevan
Pada bagian ini berisi tentang beberapa penelitian yang digunakan peneliti sebagai acuan dan pembanding dalam membuat sistem rekomendasi.
Beberapa penelitian yang digunakan peneliti sebagai berikut:
a. Penelitian yang dilakukan oleh Hadi dkk (2020) tentang sistem rekomendasi film menggunakan user-based collaborative filtering dan k- modes clustering. Penelitian ini dilakukan karena banyaknya judul-judul yang telah rilis membuat masyarakat kesulitan untuk menemukan film mana yang mereka ingin tonton. Sistem rekomendasi film menggunakan pendekatan user-based collaborative filtering adalah salah satu metode yang mampu memberikan rekomendasi dan k-modes clustering yang digunakan sebagai penambah ketepatan dari rekomendasi dengan mengelompokkan riwayat preferensi user. Hasil dari penelitian ini adalah dari hasil pengujian jumlah cluster terbaik yang digunakan untuk rekomendasi menggunakan Elbow Method dan Silhouette Coefficient, didapatkan jumlah cluster sebesar 3 yang merupakan jumlah cluster terbaik. Selain itu, hasil pengujian ketepatan rekomendasi dengan Mean Reciprocal Rank (MRR) dihasilkan rata-rata MRR sebesar 0.17092270381865 untuk rekomendasi film dengan rasio data train dan test sebesar 80%: 20%. Sedangkan rata-rata MRR sebesar 0.15072658511145 untuk rekomendasi film dengan rasio data train dan test sebesar 60%: 40%. Dari hasil 2 pengujian di atas dapat disimpulkan bahwa tingkat ketepatan dari rekomendasi film menurut MRR cukup rendah, karena berdasarkan kaidah MRR rekomendasi dikatakan kurang tepat apabila nilainya mendekati 0 dengan batas sebesar 0.5 dan dikatakan tepat apabila nilainya diatas 0.5 dan mendekati 1.
b. Penelitian yang dilakukan oleh Dwicahya (2018) tentang perbandingan sistem rekomendasi film metode user-based dan item-based collaborative filtering. Penelitian ini dilakukan karena banyaknya informasi serta konten yang ada di internet menyebabkan sebuah tumpukan informasi yang sangat besar yang menyebabkan informasi sulit ditemukan. Hasil dari penelitian ini diperoleh metode item-based CF memberikan prediksi rating paling baik pada jumlah maksimal neighbor 100 dengan nilai MAE sebesar 0.793895061, sedangkan user-based CF pada jumlah maksimal neighbor 70 dengan nilai MAE sebesar 0.800633522.
c. Penelitian yang dilakukan oleh Halim et al. (2017) tentang sistem rekomendasi film menggunakan bisecting k-means dan collaborative filtering. Penelitian ini dilakukan karena masyarakat yang kesulitan menemukan judul film yang mereka inginkan karena banyaknya judul film yang beredar. Penelitian ini bertujuan untuk mengembangkan sistem rekomendasi film menggunakan kombinasi dari bisecting K-Means dan collaborative filtering. Data film yang digunakan pada penelitian ini berasal dari MovieLens yang terdiri dari 100.000 rating dari 668 user untuk 10329 judul film dalam 18 genre film. Proses training terdiri dari proses kluster dengan algoritma bisecting K-Means dan perhitungan nilai similarity dengan collaborative filtering (item-based dan user-based).
Proses testing dilakukan untuk menghitung nilai error sistem dengan menghitung nilai Mean Absolute Error (MAE). Hasil penelitian menunjukkan rekomendasi dengan bisecting K-Means dan user-based collaborative filtering mendapatkan nilai MAE yang lebih rendah dibandingkan dengan bisecting K-Means dan item-based collaborative filtering.
d. Penelitian yang dilakukan oleh Mahendra (2018) tentang sistem rekomendasi objek wisata Yogyakarta dengan pendekatan item-based collaborative filtering. Penelitian ini dilakukan karena penulis ingin membangun sistem yang dapat merekomendasikan item berupa objek wisata kepada pengguna dan menghitung keakuratan sistem dalam menghitung prediksi rating. Sistem dibangun dengan menggunakan algoritma item-based collaborative filtering dan menggunakan perhitungan similarity pearson correlation. Dataset yang digunakan berasal dari survey berupa rating 100 user terhadap 10 objek wisata. Hasil akhir dari penelitian ini menunjukkan bahwa metode item-based collaborative filtering dapat digunakan untuk membangun sistem rekomendasi objek wisata dan cukup akurat dalam memprediksi rating objek wisata. Hal ini dibuktikan dengan hasil uji MAE, dimana pada maksimum neighbor 6 metode item-based collaborative filtering dapat memprediksi rating paling baik dengan MAE sebesar 0.6254.
e. Penelitian yang dilakukan oleh Nicosen (2020) tentang implementasi Principal Component Analysis pada sistem rekomendasi film dengan pendekatan user based collaborative filtering. Penelitian ini dibangun karena film yang terlalu banyak dapat menjadikan penikmat film bingung untuk menonton yang mana dengan waktu yang sedikit. Hasil dari penelitian ini menunjukkan data direduksi dari 610×9742 menjadi 610×300, dimana sistem rekomendasi dengan PCA dan sistem rekomendasi tanpa PCA memiliki rata-rata selisih: MAE = 0.03, MSE = 0.05, RMSE = 0.03, dan waktu = 4.97 detik dimana komputasi PCA lebih cepat.
17
BAB III
METODE PENELITIAN
Pada bab ini akan dijelaskan tentang data yang dipakai dalam penelitian, urutan dalam mengimplementasikan metode penyederhanaan dimensi missing values ratio dan low variance filter untuk membangun sistem rekomendasi film menggunakan pendekatan collaborative filtering, pengujian sistem serta contoh implementasi algoritma.
3.1 Deskripsi Data Penelitian 3.1.1 Sumber Data
Dataset yang dipakai dalam penelitian ini berasal dari MovieLens.
Data yang akan dipakai adalah dataset movies dan ratings. Di dalam dataset ratings terdapat 105339 data rating yang diberikan oleh 668 pengguna. Setiap pengguna diwakili oleh sebuah id, dan tidak ada informasi lain yang diberikan. Sedangkan pada dataset movies terdapat 10329 data movies.
3.1.2 Struktur Data Mentah
Dataset movies memiliki 3 buah atribut yakni movieId, title, dan genres sedangkan dataset ratings memiliki 4 buah atribut yakni userId, movieId, rating, dan timestamp. Dalam membangun sistem, atribut yang digunakan dari dataset movies adalah movieId dan title sedangkan atribut yang digunakan dari dataset ratings adalah movieId dan rating.
3.2 Desain Penelitian
3.2.1 Perancangan Sistem
Pada bagian perancangan sistem ini akan menampilkan langkah- langkah proses sistem yang akan dibangun. Tahap awal dalam perancangan sistem adalah membaca dataset yang akan dipakai untuk membangun sistem. Kemudian dilanjutkan dengan preprocessing data.
Preprocessing data memiliki fungsi untuk menghilangkan permasalahan- permasalahan yang dapat mengganggu hasil pemrosesan data. Pada tahap ini sistem akan menghapus atribut genres dari data movies serta menghapus atribut timestamp dari data ratings. Setelah atribut yang tidak dibutuhkan dihapus dari dataset, selanjutnya kedua dataset digabung dan dimasukkan ke dalam pivot tabel. Pada saat pivot data, film yang awalnya sebanyak 10329 menjadi 10323 data film karena film yang tidak pernah dirating oleh user dibersihkan dari user-item matrix.
Bagian selanjutnya dari preprocessing data adalah penerapan metode penyederhanaan dimensi menggunakan missing values ratio dan low variance filter untuk mendapatkan matrix yang lebih sederhana. Dalam tahap ini jika sistem menggunakan metode MVR, sistem akan terlebih dahulu mengecek mising values ratio tiap kolom data. Ketika nilai yang hilang/kosong melebihi threshold yang ditentukan maka kolom data tersebut akan dihilangkan. Sedangkan ketika sistem menggunakan metode LVF, sistem akan terlebih dahulu mengecek varians data tiap kolom data.
Ketika nilai varians kurang dari threshold yang ditentukan maka kolom data tersebut akan dihilangkan.
Selanjutnya tahap pemodelan sistem rekomendasi dengan pendekatan collaborative filtering. Pada tahap ini terlebih dahulu diinputkan id dari active user, jumlah maximum neighbor serta threshold jika menggunakan penyederhanaan dimensi. Setelah data yang dibutuhkan telah diinputkan,
maka selanjutnya sistem akan melakukan perhitungan similaritas antar active user dengan user lainnya. Kemudian mencari tetangga terdekat sesuai dengan jumlah maximum neighbor yang telah diatur sebelumnya.
Setelah mendapatkan tetangga terdekat, maka akan dilakukan perhitungan rating prediksi untuk mendapatkan rekomendasi film untuk active user.
Tahap selanjutnya akan dilakukan evaluasi berupa perhitungan MAE dan konsumsi waktu yang dibutuhkan sistem dalam proses komputasi untuk menghasilkan rekomendasi film. Adapun flowchart perancangan sistem yang akan dibangun dapat dilihat pada gambar 3.1:
Gambar 3.1 Flowchart Perancangan Sistem
3.2.2 Pengujian Sistem
Pada tahap ini sistem yang telah dibangun akan dilakukan uji coba yang dibagi menjadi 5 bagian yakni uji coba jumlah maximum neighbor, uji coba threshold MVR, uji coba threshold LVF, uji coba akurasi, dan uji coba konsumsi waktu. Berikut adalah diagram tree untuk menggambarkan skenario pengujian sistem yang dipakai dalam penelitian ini:
Gambar 3.2 Diagram Pengujian Sistem
Beberapa batasan untuk uji coba sistem, sebagai berikut:
i. Jumlah maximum neighbor yang digunakan adalah 10,15, dan 20. Hal ini dilakukan karena pemilihan angka yang dipakai untuk jumlah maximum neighbor tidak boleh terlalu besar ataupun terlalu kecil. Oleh karena itu angka 10, 15, dan 20 dirasa cukup.
ii. Missing value ratio untuk dataset yang dipakai dalam penelitian ini memiliki rentangan antara 51,34730538922155 sampai 99,8502994011976. Namun ketika dicoba tidak semua nilai missing value ratio ini dapat digunakan sebagai threshold karena
beberapa nilai yang dicoba memberikan hasil yang kurang baik.
Oleh karena itu, nilai threshold yang dipakai untuk metode missing values ratio dalam penelitian ini adalah 60%, 65%, 70%, 75%, 80%, 85%, 90%, serta 95%.
iii. Varians data untuk dataset yang dipakai dalam penelitian ini memiliki rentangan antara 0,0003742514970059785 sampai 5,1680058174505605. Namun ketika dicoba tidak semua nilai varians ini dapat digunakan sebagai threshold karena beberapa nilai yang dicoba memberikan hasil yang kurang baik. Oleh karena itu, nilai threshold yang dipakai untuk metode low variance filter dalam penelitian ini adalah 0,1, 0,2, 0,3, 0,4, 0,5, 0,6, 0,7, 0,8, 0,9, serta 1.
3.2.3 Analisis Hasil
Pada tahap ini peneliti akan menganalisis hasil yang didapatkan pada tahap pengujian sistem yakni uji jumlah maximum neighbor, uji nilai threshold, uji akurasi dan uji konsumsi waktu.
3.2.4 Penarikan Simpulan dan Saran
Pada tahap ini peneliti akan menarik simpulan berdasarkan hasil yang telah didapat dari pengujian sistem yang telah dibangun. Selain itu, peneliti juga memberikan saran yang diperlukan bagi penelitian selanjutnya.
3.3 Contoh Implementasi Algoritma
User-based collaborative filtering secara sederhana memiliki pengertian memberikan rekomendasi suatu item kepada active user berdasarkan user lain atau tetangga terdekat yang memiliki ketertarikan yang sama dengan active user. Dalam implementasinya terhadap data normal, perhitungan similaritas untuk menentukan tetangga terdekat langsung dilakukan setelah preprocessing sederhana seperti menghilangkan atribut yang dibutuhkan serta pivot tabel selesai. Namun, dengan adanya penerapan penyederhanaan dimensi pada sistem rekomendasi maka terlebih dahulu perlu diterapkan MVR dan LVF sebelum dilakukan perhitungan similaritas.
Penerapan penyederhanaan dimensi MVR dan LVF pada dataset berperan sebagai tahap lanjutan dari preprocessing. Untuk lebih jelas, berikut akan ditampilkan contoh implementasi pendekatan user-based collaborative filtering dengan menerapkan missing values ratio dan low variance filter pada user-item matrix dengan menggunakan 10 data film dan 10 user yang berbeda:
Tabel 3.1 Contoh Data Film
P KO BBL I JL TM T DH FG WE
user 1 5 3 2 3 5 1 1 2 2
user 2 2 5 2 5 5 1 5 2 5 5
user 3 2 3 5 3 2 4 5 4
user 4 4 5 5 3 4 3 5 3
P KO BBL I JL TM T DH FG WE
user 5 4 5 4 3 1
user 6 2 3 5 5 2 4 4
user 7 5 3 3 5 2 4
user 8 4 2 4 1 5 3
user 9 3 2 3 3 5
user 10 3 4 4 1 4 2
Keterangan:
P : Parasite
KO : Knives Out
BBL : Bad Boys for Life
I : Interstellar
JL : Justice League
TM : The Matrix
T : Titanic
DH : Die Hard
FG : Forrest Gump
WE : Wall-E
Pada contoh yang ditampilkan di atas, angka-angka yang berada di dalam kolom merupakan rating dari film yang diberikan oleh user terkait, di mana nilai rating pada contoh tersebut memiliki rentangan 1-5. Sedangkan kolom yang berwarna merah berarti film yang dimaksud belum memiliki rating atau belum diberi rating oleh user. Selanjutnya adalah melakukan penyederhanaan dimensi pada matrix yang ada dengan menerapkan missing values ratio dan low variance filter. Kemudian akan diikuti dengan perhitungan similaritas,
pencarian tetangga terdekat, perhitungan rating prediksi serta perhitungan akurasi.
3.3.1 Missing Values Ratio
Dalam penerapan metode missing values ratio, tiap kolom data akan dihitung nilai missing values ratio-nya. Kolom data dengan terlalu banyak nilai yang hilang/kosong lebih besar dari nilai ambang (threshold) yang telah ditentukan dapat dihilangkan. Setelah menghilangkan kolom data menggunakan threshold yang ditentukan, maka dapat dilanjutkan dengan penerapan pendekatan user-based collaborative filtering. Untuk lebih memahami implementasi algoritmanya, dapat dilihat dalam langkah-langkah yang dijelaskan sebagai berikut:
a. Langkah pertama adalah menghitung rasio dari data yang hilang, sehingga didapatkan hasil sebagai berikut:
Tabel 3.2 Hasil Perhitungan Missing Values Ratio
P KO BBL I JL TM T DH FG WE
user 1 5 3 2 3 5 1 1 2 2
user 2 2 5 2 5 5 1 5 2 5 5
user 3 2 3 5 3 2 4 5 4
user 4 4 5 5 3 4 3 5 3
user 5 4 5 4 3 1
user 6 2 3 5 5 2 4 4
user 7 5 3 3 5 2 4
user 8 4 2 4 1 5 3
user 9 3 2 3 3 5
user 10 3 4 4 1 4 2
MVR 20% 30% 40% 30% 40% 20% 20% 20% 40% 40%
b. Langkah kedua adalah menyederhanakan dimensi matrix dengan cara menghilangkan kolom film yang memiliki missing values ratio lebih dari nilai ambang (threshold).
Misalkan pada contoh kali ini threshold yang dipakai adalah 30%. Pada tabel matrix, film dengan data yang hilang lebih dari 30%
maka kolom film tersebut akan dihapus. Pada film Parasite rationya sebesar 20%, Knives Out rasionya sebesar 30%, Bad Boys for Life rasionya sebesar 40%, Interstellar rasionya sebesar 30%, Justice League rasionya sebesar 40%, The Matrix rasionya sebesar 20%, Titanic rasionya sebesar 20%, Die Hard rasionya sebesar 20%, Forrest Gump rasionya sebesar 40%, Wall-E rasionya sebesar 40%.
Oleh karena itu, film Bad Boys for Life, Justice League, Forrest Gump dan Wall-E akan dihapus dari karena memiliki missing values ratio lebih dari 30%, sehingga user-item matrix akan menjadi seperti berikut:
Tabel 3.3 Hasil Penyederhanaan Dimensi MVR
P KO I TM T DH
user 1 5 3 2 5 1 1
user 2 2 5 5 1 5 2
user 3 2 5 2 4
user 4 4 5 3 4 3 5
user 5 4 3
user 6 2 3 5 2 4
user 7 5 3 3 5 2
user 8 4 2 1 5
user 9 3 3 3
user 10 3 4 1 4
Peneliti mengasumsikan bahwa user 10 belum pernah memberikan rating terhadap film Die Hard sehingga perlu dicari rating prediksi dari film tersebut untuk dibandingkan dengan rating real sehingga diketahui akurasi dari contoh ini ketika menggunakan metode missing values ratio. Pada contoh ini user 10 merupakan active user yakni user yang menjadi target untuk diprediksi atau diberi rekomendasi.
c. Langkah ketiga adalah menghitung tingkat similaritas antara user 10 dengan user lainnya menggunakan metode cosine similarity, sehingga mendapatkan hasil sebagai berikut:
Tabel 3.4 Hasil Similaritas Antar User Contoh 1
User Nilai Similaritas
sim (user 10, user 1) 0,665800303 sim (user 10, user 2) 0,977894195 sim (user 10, user 3) 0,955904239 sim (user 10, user 4) 0,872871561
sim (user 10, user 5) 1
sim (user 10, user 6) 0,648649305 sim (user 10, user 7) 0,888714253 sim (user 10, user 8) 0,635488909 sim (user 10, user 9) 0,989949494
d. Langkah keempat adalah mengurutkan user berdasarkan tingkat similaritasnya.
Tabel 3.5 Urutan User Berdasarkan Similaritas Contoh 1
User Nilai Similaritas
sim (user 10, user 5) 1
sim (user 10, user 9) 0,9899495
sim (user 10, user 2) 0,9778942
sim (user 10, user 3) 0,9559042
sim (user 10, user 7) 0,8887143
sim (user 10, user 4) 0,8728716
sim (user 10, user 1) 0,6658003
sim (user 10, user 6) 0,6486493
sim (user 10, user 8) 0,6354889
e. Langkah kelima adalah memilih neighbor sesuai maximum neighbor dimana pada contoh kali ini peneliti memilih 3 neighbors yang memiliki tingkat similaritas yang paling tinggi dengan user 10, sehingga didapatkan hasil sebagai berikut:
Tabel 3.6 Top-3 Neighbors Contoh 1
User Nilai Similaritas
user 5 1
user 9 0,98994949
user 2 0,97789419
Ketika telah diurutkan dapat dilihat bahwa user 5, user 9, dan user 2 merupakan 3 neighbors teratas yang memiliki tingkat similaritas paling tinggi.
f. Langkah keenam adalah menghitung rating prediksi yang diberikan user 10 untuk film Die Hard menggunakan rumus perhitungan rating prediksi sehingga didapatkan hasil, sebagai berikut:
𝑟(𝑢𝑠𝑒𝑟 10, 𝐷𝑖𝑒 𝐻𝑎𝑟𝑑) = 2,318661622
Rating prediksi yang diberikan user 10 terhadap film Die Hard adalah sebesar 2,318661622.
g. Langkah ketujuh adalah menghitung tingkat akurasi dengan membandingkan rating prediksi dengan rating real.
Dalam kasus ini, misalkan rating real yang diberikan oleh user 10 untuk film Die Hard adalah 2 maka selanjutnya dapat dihitung tingkat akurasi sistem rekomendasi ini dengan membandingkan rating real dengan rating prediksi, sehingga diperoleh hasil sebagai berikut:
Tabel 3.7 Hasil Perhitungan MAE Contoh 1
n 3
Rating Real 2
Rating Prediksi 2,318661622
MAE 0,106220541
Maka nilai MAE yang dihasilkan sistem menggunakan pendekatan user-based collaborative filtering dengan penyederhanaan dimensi menggunakan missing values ratio pada contoh adalah sebesar 0,106220541.
3.3.2 Low Variance Filter
Dalam penerapan metode low variance filter, tiap kolom data akan dihitung nilai variansnya. Kolom data dengan nilai varians yang lebih kecil dari nilai ambang (threshold) yang telah ditentukan dapat dihilangkan. Setelah menghilangkan kolom data menggunakan threshold yang ditentukan, maka dapat dilanjutkan dengan penerapan pendekatan user-based collaborative filtering. Untuk lebih memahami implementasi algoritmanya, dapat dilihat dalam langkah-langkah yang dijelaskan sebagai berikut:
a. Langkah pertama adalah menghitung varians dari tiap film yang ada, sehingga mendapatkan hasil berikut:
Tabel 3.8 Hasil Perhitungan Varians Data
P KO BBL I JL TM T DH FG WE
user 1 5 3 2 3 5 1 1 2 2
user 2 2 5 2 5 5 1 5 2 5 5
user 3 2 3 5 3 2 4 5 4
user 4 4 5 5 3 4 3 5 3
user 5 4 5 4 3 1
user 6 2 3 5 5 2 4 4
user 7 5 3 3 5 2 4
user 8 4 2 4 1 5 3
user 9 3 2 3 3 5
user 10 3 4 4 1 4 5
Varians 1,3 1,5 1,4 2,2 1,4 3,1 1,9 1,8 1,6 2,2
b. Langkah kedua adalah menghilangkan kolom film yang memiliki varians data kurang dari nilai ambang (threshold). Misalkan dalam contoh kali ini nilai threshold yang dipakai 1,6 maka selanjutnya kolom dengan nilai varians kurang dari 1,6 akan dihapus. Sehingga user-item matrix menjadi seperti berikut:
Tabel 3.9 Hasil Penyederhanaan Dimensi LVF
I TM T DH FG WE
user 1 2 5 1 1 2 2
user 2 5 1 5 2 5 5
user 3 5 2 4 5 4
user 4 3 4 3 5 3
user 5 3 1
user 6 5 2 4 4
user 7 3 3 5 2 4
user 8 1 5 3
user 9 3 3 5
user 10 4 1 4 2
Peneliti mengasumsikan bahwa user 10 belum pernah memberikan rating terhadap film Die Hard sehingga perlu dicari rating prediksi dari film tersebut untuk dibandingkan dengan rating real sehingga diketahui akurasi dari contoh ini ketika menggunakan metode low variance filter. Pada contoh ini user 10 merupakan active user yakni user yang menjadi target untuk diprediksi atau diberi rekomendasi.
c. Langkah ketiga adalah menghitung tingkat similaritas antara user 10 dengan user lainnya menggunakan metode cosine similarity, sehingga mendapatkan hasil sebagai berikut:
Tabel 3.10 Hasil Similaritas Antar User Contoh 2
User Nilai Similaritas
sim (user 10, user 1) 0,540295467
sim (user 10, user 2) 0,999405646
sim (user 10, user 3) 0,990830168
sim (user 10, user 4) 0,835914008
sim (user 10, user 5) 1
sim (user 10, user 6) 0,585490554
sim (user 10, user 7) 0,929130778
sim (user 10, user 8) 0,428086345
sim (user 10, user 9) 1
d. Langkah ketiga adalah mengurutkan user berdasarkan tingkat similaritasnya.
Tabel 3.11 Urutan User Berdasarkan Similaritas Contoh 2
User Nilai Similaritas
sim (user 10, user 5) 1
sim (user 10, user 9) 1
sim (user 10, user 2) 0,999405646
sim (user 10, user 3) 0,990830168
sim (user 10, user 7) 0,929130778