HASIL DAN ANALISA
Membaca Data
Langkah pertama pada sistem adalah membaca dataset dan kemudian akan disimpan dalam data frame dengan atribut movie.
Berikut adalah code untuk membaca data :
Preprocessing
Tahap preprocessing dilakukan untuk mengubah data mentah menjadi data yang bersih dan siap digunakan. Tahap preprocessing terbagi menjadi 2 yaitu cleaning data dan transformasi data.
4.1.2.1 Cleaning Data
Tahap awal pada yang dilakukan yaitu cleaning data, dimana pada proses ini akan menghapus kolom-kolom yang tidak diperlukan. Berikut adalah code untuk menghapus kolom data:
18
19
Proses preprocessing data ini dilakukan dengan menginput data movie. Kemudian kolom-kolom yang tidak diperlukan akan
20
data_movie = movie.copy()
for index, row in movie.iterrows():
for genre in row['genres']:
data_movie.at[index, genre] = 1 data_movie = data_movie.fillna(0)
dihilangkan dengan menggunakan fungsi if elif , kemudian setelah itu dilanjutkan dengan menghilangkan karakter pada kolom genres.
Hasil cleaning data dapat dilihat pada Gambar 4.1.
Gambar 4.1 Hasil Cleaning data 4.1.2.2 Tranformasi Data
Setelah dilakukan cleaning data langkah selanjutnya yang dilakukan adalah One_Hot_Encoding untuk daftar genre.
Pengkodean diperlukan untuk memasukkan data kategorikal.
Dimana dalam hal ini, akan menyimpan setiap genre yang berbeda dalam kolom yang berisi 1 atau 0. 1 menunjukkan bahwa film memiliki genre tersebut dan 0 menunjukkan tidak. Berikut code untuk pengkodean genre :
Pada proses pengkodean dilakukan pengulangan pada movie, lalu tambahkan genre film sebagai kolom 1 atau 0. 1 jika kolom itu berisi film dalam genre pada indeks saat ini dan 0 jika tidak.Hasil pengkodean menggunakan One_Hot-Encoding dapat dilihat pada Gambar 4.2 .
21
def single_dice_coef(y_true, y_pred_bin):
intersection = np.sum(y_true * y_pred_bin)
if (np.sum(y_true)==0) and (np.sum(y_pred_bin)==0):
return 1
return (2*intersection) / (np.sum(y_true) + np.sum(y_pred_bin)) Gambar. 4.2 Hasil One_Hot_Encoding 4.2 Hasil perhitungan Dice Coefficient
Pada tahap ini akan dilakukan perhitungan similaritas dengan menggunakan algoritma dice coefficient. Perhitungan dice coefficient hanya menggunakan tabel genre, maka perlu menghapus kolom genres dan title pada gambar 4.2. Berikut code untuk menghapus kolom genres dan title:
Pada tahap ini sistem akan drop index yang ada dan menghapus kolom- kolom yang tidak diperlukan. Data hasil dapat dilihat pada Gambar 4.3.
Gambar 4.3 Hasil drop kolom genres dan title
Kemudian setelah membuat table genre, maka langkah selanjutnya adalah menghitung similaritas dari data tabel genre pada gambar 4.3. Berikut adalah code untuk menghitung similaritas dice coefficient :
genreTable = data_movie.drop('genres', 1).drop('title', 1) genreTable.head()
22
Pada proses ini dilakukan perhitungan similaritas dengan menggunakan dice coefficient . Berikut hasil dari perhitungan similaritas dapat diliha pada Gambar 4.4.
Gambar 4.4 Hasil perhitungan Dice Coefficient
4.3 Pengujian Sistem
Pengujian sistem dilakukan dengan menghitung nilai Recall dan Precision dan melakukan rekomendasi movie untuk user tertentu. Pengujian sistem dilakukan dengan menggunakan data movie yang telah di preprocessing yang kemudian menghitung nilai similarity dengan menggunakan metode dice coefficient setelah mendapatkan hasil perhitungan similaritas selanjutnya akan di lakukan rekomendasi movie berdasarkan hasil perhitungan similaritas dan hasil rekomendasi sudah dirangking berdasarkan dari yang paling relevan hingga yang tidak relevan . Pengujian sistem dilakukan dengan menggunakan 2.500 data movie yang nilainya telah diubah menjadi 1 dan 0.
Proses pengujian sistem dilakukan dengan menggunakan 5 pengguna sekaligus berdasarkan film yang sudah pernah ditonton atau disukai oleh pengguna tersebut. Dalam pengujian ini pengguna akan memilih 20 judul yang disukai oleh pengguna.
23
Relevan ={Ants, Little big Leaque, The Wrong Trousers, A Close Shave, Big Bully,Toy Story,Sabrina,Waiting to Exhale ,Heat, Casino ,Money Train ,GoldenEye,Jumanji Grumpier Old Men,Tom and Huck,One Hundred and One Dalmatians, Sudden Death,Nixon,Power ,Four Rooms}
4.2.1 Hasil Perhitungan Akurasi Sistem Rekomendasi Perhitungan akurasi sistem rekomendasi dilakukan dengan menggunakan 5 pengguna.Berikut adalah hasil perhitungan recall dan precision setiap pengguna.
1. Pengguna 1
Ada 20 judul film yang relevan atau yang disukai oleh pengguna 1, berikut adalah judul film yang relevan atau yang disukai oleh pengguna 1:
Hasil pencarian dengan sistem rekomendasi judul film yang direkomendasikan sebanyak 20 judul film. Dari 20 judul film yang direkomendasikan diperoleh 5 judul film yang paling relevan dengan pengguna 1. Sehingga dapat dicari nilai Recall dan precision seperti pada Table 4.1.
24
Tabel 4.1 Hasil pencarian pada sistem rekomendasi untuk pengguna 1
Selanjutnya, Interpolasi 21 titik recall precision dari perhitungan recall-precision pada Tabel 4.1, ditampilkan pada Tabel 4.2 berikut ini :
Tabel 4.2 Interpolasi 21 titik recall precision pada sistem rekomendasi pengguna 2
25
Relevan = {Young and Innocent, Clockers,Bottle Rocket, Kids,The Godfather: Part II,Traveller,Squeeze, New Jersey Drive, Hoodlum,Fireworks,Malice,Taxi Driver,The Usual Suspects, True Crime,Cyclo, The Basketball Diaries,Mildred Pierce,Dangerous Minds,Normal Life, The Funeral}
Berikut ditampilkan visualisasi interpolasi 21 titik recall precision pada Tabel 4.2. Ditampilkan dalam bentuk grafik pada Gambar 4.5.
Gambar 4.5. Grafik interpolasi 21 titik recall precision pengguna 1 Selanjutnya menghitung rata-rata precision dari pengguna 1. Berikut perhitungan untuk pengguna 1 :
Recall 0.05 0.1 0.15 0.20 0.25
Precision 1.0 1.0 0.3 0.33 0.29
AvgPrec = 28%
Berdasarkan hasil perhitungan rata-rata precision didapatkan nilai rata-rata 28%.
2. Pengguna 2
Ada 20 judul film yang relevan atau yang disukai oleh pengguna 2, berikut adalah judul film yang relevan atau yang disukai oleh
26
Hasil pencarian dengan sistem rekomendasi judul film yang direkomendasikan sebanyak 20 judul film. Dari 20 judul film yang direkomendasikan diperoleh 7 judul film yang paling relevan dengan pengguna 2. Sehingga dapat dicari nilai recall dan precision seperti pada Table 4.3.
Tabel 4.3 Hasil pencarian pada sistem rekomendasi untuk pengguna 2
Selanjutnya, Interpolasi 21 titik recall precision dari perhitungan recall-precision pada Tabel 4.3, ditampilkan pada Tabel 4.4 berikut ini :
Tabel 4.4 Interpolasi pada 21 titik recall precision pada rekomendasi pengguna 2
27
Relevan = A Little Princess,The Jungle Book,Casper,Santa Claus: The Movie,Fluke, Labyrinth,The Flintstones,The Secret of Roan Inish, Alice in Wonderland,Miracle on 34th Street, Major Payne,The Rescuers Down Under,A Simple Wish,The Borrowers, Babe: Pig in the City, Balto, Dunston Checks In,Peter Pan,Super Mario Bros.
Berikut ditampilkan visualisasi interpolasi 21 titik recall precision pada Tabel 4.4. Ditampilkan dalam bentuk grafik pada Gambar 4.6.
Gambar 4.6 Grafik interpolasi 21 titik recall precision pengguna 2 Selanjutnya menghitung rata-rata precision dari pengguna 2. Berikut perhitungan untuk pengguna 2 :
Berdasarkan hasil perhitungan rata-rata precision didapatkan nilai rata-rata 42%.
3. Pengguna 3
Ada 20 judul film yang relevan atau yang disukai oleh pengguna 3, berikut adalah judul film yang relevan atau yang disukai oleh
28
Hasil pencarian dengan sistem rekomendasi judul film yang direkomendasikan sebanyak 20 judul film. Dari 20 judul film yang direkomendasikan diperoleh 4 judul film yang paling relevan dengan pengguna 3. Sehingga dapat dicari nilai recall dan precision seperti pada Table 4.5.
Tabel 4.5 Hasil pencarian pada sistem rekomendasi pengguna 3
Selanjutnya, Interpolasi 21 titik recall precision dari perhitungan recall-precision pada Tabel 4.5, ditampilkan pada Tabel 4.6 berikut ini :
29
Tabel 4.6 Interpolasi pada 21 titik recall precision pada sistem rekomendasi pengguna 3
Berikut ditampilkan visualisasi interpolasi 21 titik recall precision pada Tabel 4.6. Ditampilkan dalam bentuk grafik pada Gambar 4.7.
Gambar 4.7 Grafik interpolasi 21 titik recall precision pengguna 3 Selanjutnya menghitung rata-rata precision dari pengguna 3. Berikut perhitungan untuk pengguna 3:
Pengguna
30
Relevan = Mighty Aphrodite,Two If by Sea,Sprung, Mr.
Wrong,Love and Other Catastrophes, Best Men, Boomerang,The Beautician and the Beast, Speechless,Fierce Creatures,Mallrats, Blue Juice, Miami Rhapsody, Breathing Room, Pie in the Sky, Chasers,Real Genius, Swingers,My Man Godfrey,French Kiss
Berdasarkan perhitungan rata-rata precision didapatkan nilai rata-rata sebesar 31%.
4. Pengguna 4
Ada 20 judul film yang relevan atau yang disukai oleh pengguna 4, berikut adalah judul film yang relevan atau yang disukai oleh pengguna 4:
Hasil pencarian dengan sistem rekomendasi judul film yang direkomendasikan sebanyak 20 judul film. Dari 20 judul film yang direkomendasikan diperoleh 4 judul film yang paling relevan dengan pengguna 4. Sehingga dapat dicari nilai recall dan precision seperti pada Table 4.7.
31
Tabel 4.7 Hasil pencarian pada sistem rekomendasi pengguna 4
Selanjutnya, Interpolasi 21 titik recall precision dari perhitungan recall-precision pada Tabel 4.7, ditampilkan pada Tabel 4.8 berikut ini :
Tabel 4.8 Interpolasi pada 21 titik recall precision pada sistem rekomendasi pengguna 4
32
Relevan = Street Fighter,Fire Down Below Drop Zone,,Starship Troopers,Daylight,The Rock,The Big Hit, Dante's Peak, Tomorrow Never Dies,Armageddon ,Black Dog, Assassins, Maximum Risk,Rambo III,The River Wild, Waterworld, The Hunted,Knock Off,Firestorm,Hard Target
Berikut ditampilkan visualisasi interpolasi 21 titik recall precision pada Tabel 4.8. Ditampilkan dalam bentuk grafik pada Gambar 4.8.
Gambar 4.8 Grafik interpolasi 21 titik recall precision pengguna Selanjutnya menghitung rata-rata
perhitungan untuk pengguna 4 :
precision dari pengguna 4. Berikut
Recall 0.05 0.1 0.15 0.20 0.25 0.30 0.35 0.40 0.45 0.50 Precision 1.0 1.0 0.75 0.66 0.62 0,66 0.70 0.66 0.64 0.55 AvgPrec= 51%
Berdasarkan perhitungan rata-rata precision didapatkan nilai rata-rata sebesar 51%.
5. Pengguna 5
Ada 20 judul film yang relevan atau yang disukai oleh pengguna 5, berikut adalah judul film yang relevan atau yang disukai oleh
33
Hasil pencarian dengan sistem rekomendasi judul film yang direkomendasikan sebanyak 20 judul film. Dari 20 judul film yang direkomendasikan diperoleh 4 judul film yang paling relevan dengan pengguna 5. Sehingga dapat dicari nilai recall dan precision seperti pada Table 4.9.
Tabel 4.9 Hasil pencarian pada sistem rekomendasi pengguna 5
Selanjutnya, Interpolasi 21 titik recall precision dari perhitungan recall-Precision pada Tabel 4.9, ditampilkan pada Tabel 4.10 berikut ini :
34
Tabel 4.10 Interpolasi pada 21 titik recall precision pada sistem rekomendasi pengguna 5
Berikut ditampilkan visualisasi interpolasi 21 titik recall precision pada Tabel 4.10. Ditampilkan dalam bentuk grafik pada Gambar 4.9.
Gambar 4.9 Grafik interpolasi 21 titik recall precision pengguna 5 Selanjutnya menghitung rata-rata precision dari pengguna 5. Berikut perhitungan untuk pengguna 5 :
Pengguna
35
Recall 0.05 0.1 0.15 0.20 0.25 0.3 0.35 0.40 0.45 0.50 0.55 0.60 065 Precision 1.0 1.0 0.60 0.66 0.71 0.75 0.63 0.66 0.69 0.71 0.68 0.63 0.65
AvgPrec = 55%
Berdasarkan perhitungan rata-rata precision didapatkan nilai rata-rata sebesar 55%.
4.4 Pembahasan
4.4.1 Rata-rata Interpolasi 21 titik Recall-Precision
Hasil Interpolasi 21 titik recall precision dari pengujian 5 pengguna menggunakan sistem rekomendasi disajikan dalam Tabel 4.11 berikut ini:
Tabel 4.11 Rata-rata Interpolasi 21 titik Recall Precision dengan 5 pengguna
36
Gambar 4.10 Grafik rata-rata interpolasi 21 titik Recall Precision dengan 5 pengguna
Berdasarkan nilai yang dimuat pada Tabel 4.11 dan Gambar grafik 4.11, menunjukkan hasil nilai precision yang cukup baik pada pengguna 5 dengan rata-rata nilai precision 55%, nilai ini cukup baik untuk sistem rekomendasi film yang relevan atau yang disukai, dimana pada pengguna 5 ada 20 film yang disukai kemudian sistem merekomendasi 20 film yang paling relevan dengan 20 film yang disukai oleh pengguna 5, dari 20 film yang direkomendasikan ditemukan 13 film yang paling relevan dengan pengguna 5 sehingga dapat simpulkan bahwa sistem rekomendasi ini cukup baik dalam merekomendasikan film yang disukai oleh pengguna.
5.1 Kesimpulan
PENUTUP
Berdasarkan penelitian yang dilakukan yaitu sistem rekomendasi movie menggunakan pendekatan Content Based Filtering dan Dice Coefficient sebagai ukuran kemiripan didapatkan kesimpulan :
1. Metode Content Based Filtering menggunakan Dice Coefficient dapat di terapkan dalam rekomendasi movie
2. Sistem rekomendasi dengan menggunakan Content Based Filtering mendapatkan akurasi yang cukup baik dengan nilai precision 72% dan nilai recall 50%. Serta kurva interpolasi yang lebih mendekati dengan sudut kanan atas, dimana dalam hal ini menunjukkan tingkat relevansi yang lebih baik.
5.2 Saran
Berdasarkan analisis pada pada penelitian ini, saran penulis untuk pengembangan penelitian selanjutnya adalah menggunakan recall dan precision dengan data lebih banyak untuk menguji keefektifan sistem.
37
DAFTAR PUSTAKA
Arishintha, Christina Rusma. (2013). Sistem Rekomendasi Pemasaran Barang Dagang Sales menggunakan Metode Content Based Filtering berbasis Mobile Android. Skripsi. Fakultas Sains dan Teknologi. Universitas Sanata Dharma:
Yogyakarta.
Dewi, Laurina Silvianty. (2013). Sistem Rekomendasi Penjualan Obat menggunakan pendekatan Content Based Filtering berbasis Mobile Android.
Skripsi. Fakultas Sains dan Teknologi. Universitas Sanata Dharma:
Yogyakarta.
Falk,Kim. (2019). Practical Recommender System. New York, US : Manning Publications Co.
Kurniawan, D. (2010). Evaluasi sistem temu kembali informasi model ruang vector dengan pendekatan user judgement. Jurusan Matematika Program Studi Ilmu Komputer FMIPA. Universitas Lampung : Lampung.
Nastiti, Putri. (2013). Sistem Rekomendasi hasil Pertanian Tanaman Pangan menggunakan pendekatan Content Based Filtering. Skripsi. Fakultas Sains dan Teknologi. Universitas Sanata Dharma: Yogyakarta.
Pendit, PL. (2008). Perpustakaan digital dari A sampai Z . Jakarta:Cita Karyakarsa Mandiri
Ricci, F., Rokach Lior, dan Bracha Shapira. (2011). Recommender System Handbook. New York, US : Springer Science+Business Media.
Verma, V. (2020). A comparative analysis of similarity measures akin to the Jaccard index in collaborative recommendations: empirical and theoretical perspective. Austria : Springer-Verlag GmbH.
38