• Tidak ada hasil yang ditemukan

IMPLEMENTASI PRINCIPAL COMPONENT ANALYSIS PADA SISTEM REKOMENDASI FILM DENGAN PENDEKATAN USER BASED COLLABORATIVE FILTERING SKRIPSI

N/A
N/A
Protected

Academic year: 2021

Membagikan "IMPLEMENTASI PRINCIPAL COMPONENT ANALYSIS PADA SISTEM REKOMENDASI FILM DENGAN PENDEKATAN USER BASED COLLABORATIVE FILTERING SKRIPSI"

Copied!
88
0
0

Teks penuh

(1)

IMPLEMENTASI PRINCIPAL COMPONENT ANALYSIS

PADA SISTEM REKOMENDASI FILM

DENGAN PENDEKATAN

USER BASED COLLABORATIVE FILTERING

SKRIPSI

Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh

Gelar Sarjana Komputer

Program Studi Informatika

Oleh:

Williams Nicosen

165314028

PROGRAM STUDI INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVESITAS SANATA DHARMA

YOGYAKARTA

(2)

IMPLEMENTATION OF PRINCIPAL COMPONENT

ANALYSIS TO MOVIE RECOMMENDATION SYSTEM

WITH USER BASED COLLABORATIVE FILTERING

APPROACH

THESIS

Presented As Partial Of Requirements To Obtain

Sarjana Komputer

Degree In Informatics Department

By:

Williams Nicosen

165314028

INFORMATICS STUDY PROGRAM

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

(3)

v

HALAMAN MOTO

(4)

viii

ABSTRAK

Film menjadi salah satu media hiburan untuk mengatasi kejenuhan di sela

kesibukan sehari-hari dan banyak juga yang menjadikan aktivitas menonton film

menjadi hobi. Namun film yang terlalu banyak menjadikan penikmat film

bingung untuk menonton yang mana dengan waktu yang sedikit. Sistem

rekomendasi bertujuan untuk mengatasi masalah ini, sehingga pengguna dapat

mendapatkan rekomendasi film yang cocok dengan preferensi pengguna.

Untuk merekomendasikan film, sistem membandingkan satu pengguna dengan

pengguna lain, dan film yang telah ditonton dari pengguna mempunyai kemiripan

/ selera yang sama akan direkomendasikan. Jika ada pengguna yang mempunyai

kemiripan / selera yang sama maka akan direkomendasikan film dari pengguna

lain yang sudah ditonton dan belum ditonton oleh pengguna yang meminta

rekonmendasi. Lalu untuk merekomendasikan film digunakan metode

User-Based

Collaborative Filtering

, yaitu dengan membandingkan antara pengguna dan

merekomendasikan film ke salah satu pengguna yang memiliki selera yang sama.

Untuk menghitung kemiripan pengguna dihitung dengan

Pearson Correlation

Coefficient

. Sebelum masuk ke metode rekomendasi, akan dilakukan reduksi

dimensi data tanpa menghilangkan informasi penting yaitu metode

Principal

Component Analysis

. Penelitian ini akan membandingkan hasil rekomendasi film

yang tepat dari metode menggunakan

Principal Component Analysis

dan tanpa

menggunakan metode

Principal Component Analysis

.

Diakhir penelitian akan dilakukan perbandingan hasil dengan uji akurasi berupa

MAE, MSE dan RMSE dan waktu dari data yang menggunakan metode PCA dan

data yang tidak menggunakan metode PCA. Untuk penelitian ini 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.

Kata kunci: Sistem rekomendasi,

principal component analysis, user-based

collaborative filtering, pearson correlation coefficient.

(5)

ix

ABSTRACT

Movies are one of the entertainment media to overcome boredom between daily

activities and many also watching movies as a hobby. However, too many films

make movie lovers confused to decide which one to watch with the limited time.

The recommendation system aims to solve this problem, so that users can get

movie recommendations that match their preferences.

To recommend movies, the system compares one user to another, and movies that

have been watched by users who have similar / similar tastes will be

recommended. If there are users who have the same similarities / tastes, it will be

recommended that films from other users that have been watched and have not

been watched by users who ask for recommendations. Then, to recommend a film,

the User-Based Collaborative Filtering method is used, which is by comparing

users and recommending the film to a user who has the same taste. To calculate

user similarity, it is calculated using the Pearson Correlation Coefficient. Before

entering the recommendation method, a data dimension reduction will be carried

out without eliminating important information, this method called the Principal

Component Analysis method. This study will compare the results of the

appropriate film recommendations from the method using Principal Component

Analysis and without using the Principal Component Analysis method.

At the end of the study, the results will be compared with the accuracy test in the

form of MAE, MSE and RMSE and the time of data using the PCA method and

data that does not use the PCA method. For this study the data was reduced from

610 × 9742 to 610 × 300, where the recommendation system with PCA and the

recommendation system without PCA had an average difference: MAE = 0.03,

MSE = 0.05, RMSE = 0.03, and time = 4.97 seconds where PCA computation

time is faster.

Keywords: Recommender system, principal component analysis, user-based

collaborative filtering, pearson correlation coefficient.

(6)

xi

DAFTAR ISI

HALAMAN PERSETUJUAN PEMBIMBING ... iii

HALAMAN PENGESAHAN ...iv

HALAMAN MOTO ... v

PERNYATAAN KEASLIAN KARYA ...vi

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ... vii

ABSTRAK ... viii

ABSTRACT ... ix

KATA PENGANTAR ... x

DAFTAR ISI... xi

DAFTAR GRAFIK ... xv

DAFTAR TABEL ... xvi

DAFTAR RUMUS ... xvii

BAB I PENDAHULUAN ... 1 1.1 Latar Belakang ... 1 1.2 Rumusan Masalah ... 2 1.3 Batasan Masalah ... 2 1.4 Manfaat ... 3 1.5 Tujuan ... 3 1.6 Metodologi Penelitian ... 4 1.7 Sistematika Penulisan ... 4

BAB II LANDASAN TEORI ... 6

2.1 Sistem Rekomendasi ... 6

2.2 Collaborative Filtering ... 6

2.2.1 User-Based Collaborative Filtering ... 7

2.3 Similarity ... 8

2.3.1 Pearson CorrelationCoefficient ... 9

2.4 Prediksi Rating ... 9

2.5 Dimensionality Reduction ... 10

2.6 Principal Component Analysis ... 10

(7)

xii

2.6.2 Varians ... 11

2.6.3 Kovarian Matriks ... 12

2.6.4 Nilai Eigen dan Vektor Eigen ... 12

2.7 Uji Akurasi ... 13

2.7.1 MAE ... 13

2.7.2 MSE ... 14

2.7.3 RMSE ... 14

BAB III METODE PENELITIAN ... 15

3.1 Data ... 15

3.1.1 Jenis Data ... 15

3.1.2 Prosedur Pengambilan Data ... 15

3.2 Perancangan Sistem Secara Umum ... 17

3.3 Principal Component Analysis (PCA) ... 18

3.4 Tahap Rekomendasi ... 21

3.5 Desain User Interface ... 25

3.6 Spesifikasi Hardware dan Software ... 27

3.6.1 Software ... 27

3.6.2 Hardware ... 27

BAB IV IMPLEMENTASI DAN ANALISA HASIL ... 28

4.1 Implementasi Alat Uji ... 28

4.1.1 UserInterface ... 28

4.1.2 Hasil Rekomendasi Tanpa Dimensionality Reduction ... 30

4.1.3 Hasil Rekomendasi Dengan Dimensionality Reduction ... 31

4.1.4 Perbandingan Hasil Rekomendasi ... 33

4.2 Analisis Hasil ... 34

4.2.1 Skenario Uji Coba ... 34

4.2.2 Uji Coba Variasi PCA ... 34

4.2.3 Uji Akurasi ... 37

4.2.4 Uji Konsumsi Waktu ... 39

BAB V PENUTUP ... 41

5.1 Kesimpulan ... 41

5.2 Saran ... 41

(8)

xiii

LAMPIRAN... 44

Lampiran 1: Tabel Varians dan Kumulative tiap principal components ... 44

(9)

xiv

DAFTAR GAMBAR

Gambar 2. 1 Ilustrasi Metode pendekatan ... 7

Gambar 2. 2 Ilustrasi user-based collaborative filtering ... 8

Gambar 2. 3 Langkah PCA ... 10

Gambar 3. 1 Perancangan Sistem ... 17

Gambar 3. 2 Langkah dalam merekomendasi film ... 22

Gambar 3. 3 Desain Tampilan Hasil Rekomendasi Data Normal ... 25

Gambar 3. 4 Layout GUI hasil rekomendasi dengan PCA ... 26

Gambar 3. 5 Layout rancangan tampilan perbandingan metode ... 26

Gambar 4. 1 GUI Hasil Rekomendasi Data Normal userId=414... 28

Gambar 4. 2 GUI hasil rekomendasi data PCA userId=414 ... 29

(10)

xv

DAFTAR GRAFIK

Grafik 4. 1 Kurva perbandingan jumlah komponen dengan varians... 32

Grafik 4. 2 Perbandingan hasil MAE dari 5 active users ... 35

Grafik 4. 3 Perbandingan hasil MSE dari 5 active users ... 36

Grafik 4. 4 Perbandingan hasil RMSE 5 active users ... 36

Grafik 4. 5 Perbandingan konsumsi waktu dari 5 principal components ... 37

Grafik 4. 6 BarGraph dari uji akurasi 5 active user ... 39

(11)

xvi

DAFTAR TABEL

Tabel 3. 1 Data Rating.csv ... 15

Tabel 3. 2 Data Movie.csv ... 16

Tabel 3. 3 Contoh Data ... 18

Tabel 3. 4 Ilustrasi Data Rating ... 22

Tabel 3. 5 Hasil normalisasi rating ... 23

Tabel 3. 6 Hasil similarity ... 24

Tabel 4. 1 Top 10 N dari userId=50 ... 30

Tabel 4. 2 Hasil Rekomendasi Film userId=50 ... 31

Tabel 4. 3 Top 10 N dari userId=50 ... 32

Tabel 4. 4 Hasil Rekomendasi Film userId=50 ... 32

Tabel 4. 5 Perbandingan rating dari userId=414 ... 33

Tabel 4. 6 Perbandingan rating userId=9... 33

Tabel 4. 7 Uji akurasi beragam PC dari rating userId=200 ... 34

Tabel 4. 8 Uji akurasi prediksi rating userId=157 ... 38

Tabel 4. 9 Uji akurasi prediksi rating userId=200 ... 38

Tabel 4. 10 Uji akurasi prediksi rating userId=573 ... 38

Tabel 4. 11 Uji akurasi prediksi rating userId=312 ... 38

Tabel 4. 12 Uji akurasi prediksi rating userId=414 ... 38

(12)

xvii

DAFTAR RUMUS

Rumus 2.1 Pearson Similarity………..…...………...9

Rumus 2.2 Prediksi Rating………..……….…....9

Rumus 2.3 Standard Deviation.………..……….…...….…..11

Rumus 2.4 Variansi………...……….…...…..….…………..11

Rumus 2.5 Kovarian.……….………...…...12

Rumus 2.6 MAE……...………..…13

Rumus 2.7 MSE…..………..………..…………...14

Rumus 2.8 RMSE…………..………..…………...14

(13)

1

BAB I

PENDAHULUAN

1.1 Latar Belakang

Banyaknya konten dan informasi di internet yang menyebabkan butuh

waktu yang lama dan usaha yang banyak untuk menemukan apa yang

ingin dicari. Salah satu hal yang kita butuhkan di internet adalah hiburan,

seakaan manusia tidak terlepas dari kebutuhan akan hiburan. Walaupun

hiburan bukan kebutuhan pokok, namun kebutuhan akan hiburan ini juga

dianggap penting oleh sebagian besar masyarakat pada saat ini.

Seiring dengan berjalannya waktu dan semakin banyaknya aktivitas

atau kegiatan-kegiatan yang dilakukan manusia, maka timbul suatu

kebutuhan akan hiburan yang dianggap bisa menjadi alternatif untuk

mengatasi kejenuhan dari aktifitas-aktifitas yang telah dilalui, salah

satu cara adalah dengan menonton film yang sekaligus dapat dijadikan

sarana hiburan maupun penyaluran hobi.

Search engine

mungkin dapat membantu tapi hanya berlaku jika kita

tahu akan hal yang kita inginkan. Sedangkan sistem rekomendasi, bisa

mendapatkan informasi baru yang kita tidak tahu akan hal itu. Sistem

rekomendasi merupakan sebuah sistem yang dapat menemukan hal yang

kita suka melalui penyaringan dan pemilihan informasi dari preferensi

pengguna (Kim Falk,2018). Metode untuk sistem rekomendasi adalah

User-Based Collaborative Filtering

. Metode yang digunakan adalah

Pearson Correlation Coefficient

untuk mencari kemiripan yang sama antar

user

.

User-Based Collaborative Filtering

mencari hal yang digemari

pengguna dengan membandingkan hal yang disukai dengan beberapa

pengguna lainnya yang memiliki selera yang sama berdasarkan

item

yang

sama.

Dalam penelitian ini dicoba mereduksi data tersebut agar diharapkan

bahwa hasil yang diberikan bisa lebih efektif dibandingkan dengan hasil

(14)

lebih sedikit maka waktu prosesnya lebih cepat, tapi untuk hasilnya

belum tentu lebih baik dari data tanpa reduksi.

Pada penelitian ini menggunakan

Principal Component Analysis

yang diperkenalkan oleh Karl Pearson pada 1901. Digunakan untuk

menghitung kombinasi linear dan variable baru yang menggambarkan

keragaman data asli sebanyak mungkin, dengan dimensi matriks data

asli dapat disederhanakan tanpa harus kehilangan informasi penting

(Retno, Georgina, & Nurtiti, 2010).

Lalu di akhir penelitian akan dilakukan uji akurasi dengan

melakukan perbandingan hasil prediksi dengan MAE, MSE, RMSE,

dan waktu pada data-data yang telah dilakukan prediksi

rating.

1.2 Rumusan Masalah

Berdasarkan latar belakang yang dikemukakan di atas, permasalahan

yang dibahas dalam penelitian ini, yaitu :

a.

Bagaimana implementasi PCA terhadap sistem rekomendasi film

dengan pendekatan

user-based collaborative filtering

?

b.

Bagaimana perbedaan tingkat akurasi hasil rekomendasi dari

sistem rekomendasi yang menggunakan metode PCA dan sistem

rekomendasi tanpa metode PCA?

c.

Bagaimana perbedaan konsumsi waktu dari sistem rekomendasi

yang menggunakan metode PCA dan sistem rekomendasi tanpa

metode PCA?

1.3 Batasan Masalah

Agar ruang lingkup masalah semakin terfokuskan maka ada batasan masalah

sebagai berikut:

1.

Data diambil dari

movielens.org

, yang berisikan 100.836

rating

,

9742 film. 610

user.

(15)

2.

Menggunakan data dengan objek film yang mempunyai 3 variabel

user, rating,

dan film dan beberapa variabel dihilangkan melalui

preprocessing.

3.

Menggunakan Bahasa pemrograman Python.

1.4 Manfaat

Beberapa manfaat yang diharapkan atas penelitian ini adalah sebagai

berikut :

1.

Bagi Penulis

Agar penulis dapat mengimplementasikan ilmu yang diperoleh

dari perkuliahan di Universitas Sanata Dharma, yaitu tentang mata

kuliah sistem rekomendasi.

2.

Bagi Peneliti Selanjutnya

Diharapkan dapat digunakan sebagai bahan referensi penelitian

mengenai implementasi

principal component analysis

pada sistem

rekomendasi film dengan pendekatan

user-based collaborative

filtering.

3.

Bagi Objek Penelitian

Untuk mempermudah user dalam menemukan

entertainment

berupa film yang cocok tanpa perlu mencari satu per satu.

1.5 Tujuan

Beberapa tujuan yang diharapkan atas penelitian ini adalah sebagai berikut :

1.

Merekomendasikan film dengan menggunakan metode

user-based

collaborative filtering

dengan

pearson correlation coefficient.

2.

Membandingkan implementasi PCA terhadap sistem rekomendasi

biasa.

3.

Mengetahui berapa optimal hasil rekomendasi yang dikeluarkan

oleh sistem dengan uji akurasi prediksi

rating

.

(16)

1.6 Metodologi Penelitian

Langkah

langkah yang digunakan untuk melakukan penelitian ini adalah

sebagai berikut:

1.

Studi Pustaka

Studi pustaka sebagai kegiatan menghimpun informasi yang relevan

dengan topik sistem rekomendasi dan PCA

melalui buku, karya ilmiah,

tesis dan internet.

2.

Observasi

Mencari data yang biasa digunakan dalam sistem rekomendasi film.

3.

Antarmuka

Menggunakan

antarmuka

untuk

penelitian

agar

mempermudah

penggunaan sistem.

4.

Pengujian

Penggunaan pengujian dalam penelitian untuk mengukur perbandingan

hasil rekomendasi dari data yang menggunakan metode

PCA

dan tanpa

menggunakan

PCA.

1.7 Sistematika Penulisan

Laporan ini disusun secara sistematika yang tersusun dari beberapa

bab, diantaranya sebagai berikut :

BAB 1: PENDAHULUAN

Pada bab ini, penulis menjelaskan mengenai latar belakang yang menguraikan

tentang konsep dasar pembuatan penelitian disertai dengan rumusan masalah,

tujuan penelitian, manfaat penelitian, batasan masalah dan sistematika penulisan.

BAB 2: LANDASAN TEORI

Pada bab ini berisi kajian atau uraian mengenai teori-teori yang digunakan

untuk mendukung pembuatan sistem rekomendasi film, teori tersebut antara lain

penjelasan mengenai

Principal Component Analysis

,

Pearson Correlation

Coefficient

, dan

User-Based Collaborative Filtering.

(17)

BAB 3: METODOLOGI PENELITIAN

Pada bab ini berisi tentang metodologi yang digunakan penulis untuk

menyelesaikan masalah yang diteliti. Metodologi yang digunakan antara lain

adalah analisis data yang terdiri dari jenis data, prosedur pengambilan data,

perancangan sistem secara umum yang terdiri dari analisis komponen utama,

tahap rekomendasi, dan perbandingan hasil.

BAB 4: HASIL PEMBAHASAN

Pada bab ini berisi tentang analisis dari hasil keluaran sistem yang telah

diimplementasikan kedalam bentuk program. Bab ini juga membahas tentang

kelebihan dan kekurangan yang dimiliki oleh sistem.

BAB 5 KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dari hasil penelitian dan saran untuk para

pengembang selanjutnya.

(18)

6

BAB II

LANDASAN TEORI

2.1 Sistem Rekomendasi

Sistem rekomendasi menghitung dan menyediakan konten yang relevan

berdasarkan pengetahuan, interaksi, konten dari pengguna dan barang (Kim Falk,

2018). Sistem rekomendasi adalah alat dan teknik untuk perangkat lunak yang

menyediakan rekomendasi barang untuk pengguna. Rekomendasinya dapat berbagai

hal yang dikira cocok dengan selera pengguna, dari barang apa yang dapat dibeli,

musik apa yang dapat didengarkan, bahkan hingga berita

online

apa yang dapat

dibaca (Ricci, Rokach, Saphira, & Kantor, 2010).

Penggunaan sistem rekomendasi telah banyak digunakan belakangan ini,

contohnya adalah Amazon.com, Spotify, Netflix, dan Youtube. Yang mengartikan

bahwa sistem rekomendasi sangat dekat dengan kehidupan masyarakat saat ini.

Sistem rekomendasi ini dapat membantu bisnis untuk menarik konsumen

sebanyaknya. Sistem rekomendasi dapat mempersempit pilihan yang ditawarkan dan

memberikan hal baru kepada pengguna / konsumen.

2.2 Collaborative Filtering

Jika disederhanakan

, collaborative filtering

merupakan proses rekomendasi

daftar barang untuk pengguna, berdasarkan pengguna lain yang menyukai hal yang

sama, dan merekomendasikan hal yang pengguna itu belum pernah beli (Kim Falk,

2018). Untuk membuat rekomendasi,

collaborative filtering

perlu menghubungkan

dua entitas yang berbeda secara mendasar:

item

dan pengguna (Ricci, Rokach,

Saphira, & Kantor, 2010).

Untuk mencari

item

dan pengguna yang sama dapat dilihat dari

history

transaksi.

Semakin banyak transaksi yang ada maka semakin bagus performa hasil

rekomendasinya. Jika data transaksi masih sedikit maka tidak dapat diharapkan untuk

mendapatkan hasil rekomendasi yang bagus, ini disebut dengan

cold start problem

.

(19)

Collaborative filtering

ada 2 pendekatan yaitu

user based

dan

item based

, berikut

adalah ilustrasi dari kedua pendekatan pada Gambar 2.1.

2.2.1 User-Based Collaborative Filtering

Saat teman meminta rekomendasi film untuk ditonton, dengan asumsi

bahwa kami memiliki selera yang sama yang didasari oleh menonton

beberapa film yang sama dan memberikan rating yang sama, tetapi teman

saya belum menonton film A dan saya sudah. Jika saya menyukai film

tersebut maka dapat diasumsikan bahwa teman saya juga menyukai film

tersebut.

User-based collaborative filtering

menggunakan metode tersebut

dengan merekomendasikan barang dari beberapa user yang mirip ke user

meminta rekomendasi. Sedangkan untuk

Item-based Collaborative Filtering,

merupakan metode rekomendasi berdasarkan kemiripan barang.

(20)

Gambar 2. 2 Ilustrasi user-based collaborative filtering

Gambar 2.2 adalah ilustrasi dari

user-based collaborative filtering

, dimana

user

ke 3 direkomendasikan barang dari

user

1 karena mereka sama-sama memilih barang

C dan B. Sedangkan

user

ke 3 tidak mempunyai barang A dan D seperti

user

pertama.

2.3 Similarity

Similarity

adalah metode

machine learning

yang menghitung kemiripan

antara 2 data atau lebih, menggunakan metode algoritma seperti

pearson

correlation, cosine similarity, jaccard similarity,

dan masih banyak lagi. Untuk

penelitian ini akan dihitung kemiripan antara

user

melalui data

rating

dari tiap

user

terhadap film. Tujuan

similarity

pada penelitian ini adalah untuk mendapatkan

user

yang mempunyai kemiripan akan film yang sama sehingga dapat direkomendasikan

film antara

user

yang mirip.

(21)

2.3.1 Pearson Correlation Coefficient

Pearson correlation

adalah 1 dari 2 metode untuk menghitung persamaan pada

data kuantitif, metode lainnya adalah

cosine similarity

. Untuk menghitung persamaan

Pearson

perlu untuk menghitung rata-rata

rating

, menormalisasikan

rating

, dan

memasukannya ke dalam rumus (Isinkaye, Folajimi, & Ojokoh, 2015).

( )

∑ ( ̅)( ̅) √∑ ( ̅) ( ̅ )

Dimana:

1)

Sim(i,j) adalah angka kemiripan antara

item

atau pengguna.

2)

r

i,u

dan r

j,u

adalah

rating

pengguna i dan j pada item u pada perhitungan

persamaan pengguna.

3)

̅

dan

̅

adalah rata-rata pengguna i dan j pada perhitungan persamaan

pengguna.

2.4 Prediksi Rating

Rating

biasanya disimbolkan dengan bintang, yang digunakan untuk penilai

untuk menilai sesuatu seperti film, hotel, restoran, dan masih banyak lagi.

Rating

ini

memiliki skala dari 0.5 sampai 5, 5 adalah nilai terbaik dan 0.5 merupakan nilai

terendah. Untuk merekomendasikan film ke

user

harus diprediksi

rating

yang akan

diberikan

user

ke film yang akan direkomendasikan. Jika hasil prediksi

rating

tinggi

maka akan direkomendasikan film tersebut kepada

user

tadi. Untuk memprediksi

rating ada rumus yang harus digunakan yaitu (Isinkaye, Folajimi, & Ojokoh, 2015):

( )

̅

(

̅ ) ( )

( )

Dimana:

1)

p(a,i) adalah hasil prediksi antara

user

a dan

item

i.

2)

̅

adalah rata-rata

rating user.

3)

adalah

rating user

u kepada

item

i.

4)

̅

adalah rata-rata

rating user

terdekat.

5)

( )

adalah nilai

similarity

antara

user

a

dan item

i.

(2.1)

(22)

2.5 Dimensionality Reduction

Pada penelitian ini, data disajikan dalam bentuk matriks, dan matriks tersebut

dapat diperkecil ukuran matriks tanpa kehilangan inti dari matriks tersebut. Sebuah

matriks yang diperkecil ukurannya hanya dapat dilakukan pada bagian kolom atau

baris saja. Proses memperkecil matriks ini disebut

dimensionality reduction.

Beberapa metode dari reduksi adalah PCA, Kernel PCA, Isomap, dan masih banyak

metode reduksi dimensi lainnya.

2.6 Principal Component Analysis

Pada penelitian ini digunakan metode reduksi dimensi yaitu PCA. PCA

mengambil beberapa variabel dan mengurangi mereka menjadi 1 atau lebih

komponen yang mewakili varian variable tanpa kehilangan informasi penting (Retno

Mayapada, 2019). PCA adalah teknik statistik yang melakukan pengurangan relasi

variabel (korelasi / kovarian) menjadi beberapa komponen (dimensi) baru. PCA

menggunakan korelasi matriks atau varian-kovarian matriks untuk mendapatkan hasil

dari kombinasi linear.

(23)

Tujuan dari PCA adalah untuk mereduksi variabel data tanpa kehilangan

informasi aslinya, variabel sebanyak n direduksi menjadi sebanyak k yang lebih

sedikit dari n dan mempunyai nilai yang sama dengan n. Variabel hasil reduksi

disebut sebagai

principal component.

2.6.1 Standard Deviation

Standard Deviation

atau simpangan baku adalah ukuran penyebaran yang

lebih signifikan secara matematis. Simpangan baku umumnya dilambangkan dengan

σ. Kuadrat

dari simpangan baku dikenal sebagai varians (Mishra, et al., 2017).

∑ ( ̅)( ̅)

Dimana:

1)

σ: standar deviasi

,

2)

: populasi X ke i,

3)

̅

: mean dari populasi X,

4)

: populasi Y ke i,

5)

̅

:mean dari populasi Y,

6)

:jumlah populasi

2.6.2 Varians

Varians merupakan pengukuran penyebaran data dalam

dataset

. Varians disebut

sebagai mean dari

standard deviation

dan persamaannya mirip dengan

standard

deviation

(Mishra et al., 2017).

( )

∑ ( ̅)( ̅)

1)

: populasi X ke i,

2)

̅

: mean dari populasi X,

3)

:jumlah populasi

(2.4)

(2.3)

(24)

2.6.3 Kovarian Matriks

Kovarian matriks adalah sebuah matriks dengan hubungan linear antara beberapa

variabel. Positif berarti hubungan linier positif. Negatif berarti hubungan linier

negatif. Nilai mendekati 0 berarti tidak ada hubungan linier. Jika jumlah variasi kecil,

maka nilai kemungkinan terbesar kovarian juga kecil. Jika jumlah variasi besar, nilai

kemungkinan maksimum kovarian juga besar. Rumus kovarian mirip dengan rumus

varians, dimana kovarian mengukur antara 2 dimensi/variable (Mishra, et al., 2017).

( )

∑ ( ̅)( ̅)

Dimana:

4)

: populasi X ke i,

5)

̅

: mean dari populasi X,

6)

: populasi Y ke i,

7)

̅

:mean dari populasi Y

8)

:jumlah populasi

2.6.4 Nilai Eigen dan Vektor Eigen

Sebuah matriks persegi

×

memiliki nilai dan vektor karakteristik yang lebih

sering disebut sebagai nilai dan vektor eigen. Berikut diberikan definisi nilai dan

vektor eigen dari suatu matriks. Nilai eigen disebut sebagai nilai karakteristik dari

matriks dan eigen vektor merupakan vektor karakteristik dari matriks yang

bersesuaian dengan nilai eigen (Putra, 2009). Definisi 1 Jika

𝐴

adalah sebuah matriks

×

, maka sebuah vektor tak nol

𝐯

pada

𝑹

disebut vektor eigen (

eigenvector

) dari

𝐴

jika

𝐴𝐯

adalah sebuah kelipatan skalar dari

𝐯

yaitu (Karso, 2006):

𝐴𝐯

=

𝜆𝐯

Untuk suatu skalar

𝜆

. Skalar

𝜆

disebut nilai eigen (

eigenvalue

) dari

𝐴

, dan

𝐯

disebut sebagai vektor eigen dari

𝐴

yang bersesuaian dengan

𝜆

. Untuk memperoleh

nilai eigen dari sebuah matriks

𝐴

berukuran

×

, dapat ditulis sebagai

𝐴𝐯

=

𝜆𝐼𝐯

atau ekuivalen dengan

(

𝜆𝐼

𝐴

)

𝐯

=

𝟎

(25)

(1)

Agar

𝜆

dapat menjadi nilai eigen, harus terdapat paling sedikit satu solusi tak

nol dari Persamaan 1. Namun, Persamaan 1 memiliki solusi tak nol jika dan

hanya jika

(

𝜆𝐼

𝐴

) = 0

(2) Persamaan 2 disebut persamaan karakteristik matriks

𝐴

. Skalar-skalar yang

memenuhi persamaan tersebut adalah nilai-nilai eigen matriks

𝐴

(Pratiwi,

Mariatul, & Ramadhani, 2017). Vektor eigen dengan nilai eigen yang terbesar

disebut sebagai principal component dari sebuah matriks.

2.7 Uji Akurasi

Tujuan dari penelitian ini adalah membandingkan 2 metode yaitu data yang

menggunakan

PCA

dan data tanpa menggunakan

PCA

. Untuk membandingkan 2

metode tersebut maka dibandingkan hasil prediksi dari 2 data dengan data asli, lalu

dapat dihitung MAE, MSE,RMSE dan waktu sehingga dapat disimpulkan metode

yang lebih baik.

2.7.1 MAE

Mean Absolute Error (MAE) adalah nilai mutlak dari kesalahan

rata-rata. Semakin besar nilai MAE maka hasil estimasi model semakin buruk.

|

𝐴

|

1)

Predicted: Nilai yang diprediksi,

2)

Actual: Nilai asli,

3)

n: Jumlah nilai.

MAE mengambil rata-rata dari semua nilai jarak dari prediksi dan data asli.

(2.5)

(26)

2.7.2 MSE

Mean Squared Error (MSE) adalah rata-rata kuadrat dari nilai

kesalahan. Semakin besar nilai MSE maka hasil estimasi model semakin buruk.

MSE dihitung dengan menjumlahkan kuadrat semua kesalahan prediksi pada

setiap periode dan membaginya dengan jumlah prediksi.

∑ ( )

Dimana:

1) Predicted: Nilai yang diprediksi,

2) Actual: Nilai asli,

3) n: Jumlah nilai.

2.7.3 RMSE

Root Mean Square Error (RMSE)

adalah ukuran kesalahan yang didasarkan

pada selisih antar 2 nilai yang bersesuaian.

(

𝐴

)

Dimana:

1)

Predicted: Nilai yang diprediksi

2)

Actual: Nilai asli

3)

n: Jumlah nilai

Keakuratan metode diindikasikan dengan RMSE yang kecil. Metode yang

mempunyai RMSE lebih kecil maka lebih akurat daripada metode estimasi yang

mempunyai RMSE lebih besar.

(2.7)

(2.6)

(27)

15

BAB III

METODE PENELITIAN

3.1 Data

3.1.1 Jenis Data

Data yang akan digunakan untuk menyelesaikan tugas akhir ini berupa

tabel

rating

film,

user

dan film dalam

format

csv.

3.1.2 Prosedur Pengambilan Data

Sumber data yang digunakan untuk menjalankan penelitian ini berupa data

rating dan film yang diambil dari

grouplens

.org yang mengambil data dari

movielens.org. GroupLens Research

menyediakan berbagai pilihan

range

data. Untuk penelitian ini memakai data sebanyak 100.836 rating, 9742

film, dan 610

user

. Pada

folder

data ada beberapa

file

yang mempunyai

format berupa csv yaitu

comma separated values,

untuk penelitian ini

digunakan 2

file yaitu “rating.csv” dan “movies.csv” . Data didapatkan

dari

tanggal 29 Maret 1996 hingga 24 September 2018. Untuk “rating.csv”

berisikan

userId, movieId, ratings,

dan

timestamp

Berikut adalah contoh

data “rating.csv”:

Tabel 3. 1 Data Rating.csv

userId

movieId

rating

timestamp

1

5

2

2

5 45234524

3

12

4

12

3 454556464

(28)

Untuk

userId

merupakan angka yang digunakan untuk membedakan tiap

user,

angka dimulai dari 1 sampai 610 sebanyak jumlah

user.

Untuk

movieId

merupakan angka yang digunakan untuk membedakan tiap

film,

angka dimulai dari 1 sampai 9742 sebanyak jumlah film

.

Rating

yang

berskala 0.5 hingga 5. Variabel

timestamp

merupakan variabel waktu saat

diberinya

rating

sejak tengah malam tanggal 1 Januari 1970 UTC. Untuk

file

“movies.csv” berisikan

movieId, title, genres.

Berikut contoh data dari

“movies.csv”:

Tabel 3. 2 Data Movie.csv

movieId

title

genres

1

Toy Story (1995)

Adventure|Animation|Ch

ildren|Comedy|Fantasy

2

Jumanji (1995)

Adventure|Children|Fant

asy

3

Grumpier Old Men

(1995)

Comedy|Romance

4

Waiting to Exhale (1995) Comedy|Drama|Romanc

e

Variabel dari “movies.csv” berupa

movieId, title,

dan

genres

.

Variabel

movieId

merupakan angka yang digunakan untuk membedakan tiap

film,

angka dimulai dari 1 sampai 9742 sebanyak jumlah film. Variabel

title

merupakan judul film untuk tiap

movieId.

Variabel

genres

adalah jenis film

yang terbagi menjadi 19 jenis film dari

Action, Comedy, Horror, Thriller,

Romance,

dan masih banyak lagi.

Lalu dari data yang ada harus di

preprocessing

dengan menghilangkan

kolom data yang tidak digunakan yaitu

timestamp

dan

genres

dan

menggabungkan 2 data sehingga didapat variabel

title

. Untuk

rating

memiliki skala dari 0.5-5 dan jika kolom

rating

kosong, hal ini menandakan

bahwa

user

tersebut tidak memberikan

rating

terhadap film tersebut.

(29)

3.2 Perancangan Sistem Secara Umum

Sistem rekomendasi dapat merekomendasikan film yang belum pernah

ditonton / di-

rating

dengan membandingkan

input

rating

dengan data

user

lain

yang telah tersimpan sebelumnya. Perancangan sistem merupakan gambaran

mengenai alur kerja proses yang dilakukan oleh sistem. Perancangan sistem ini

ditunjukan pada Gambar 3.1.

Gambar 3. 1 Perancangan Sistem

Keterangan:

1.

Untuk gambar ini,

user

memilih data

user

mana yang ingin diberi

rekomendasi berdasarkan data csv yang ada melalui userId.

2.

Jika menggunakan PCA akan melakukan

preprocessing

, lalu PCA, dan

baru dihitung nilai kemiripan dengan data yang lain.

3.

Jika tidak menggunakan PCA akan langsung dihitung nilai

similarity

dengan

user

yang lain.

4.

Hasil rekomendasi berupa film-film yang diprediksi

rating-

nya,

Top

10

Neighbor.

(30)

5.

Hasil perbandingan prediksi

rating

dan uji akurasi antar

rating

asli dan

rating

prediksi.

3.3 Principal Component Analysis (PCA)

PCA adalah teknik statistik yang melakukan pengurangan relasi

variabel (korelasi / kovarian) menjadi beberapa komponen (dimensi). PCA

menggunakan korelasi matriks atau varian-kovarian matriks untuk

mendapatkan hasil dari kombinasi linear.

Diketahui tabel sebagai berikut:

Tabel 3. 3 Contoh Data

X

Y

2.5

2.4

0.5

0.7

2.2

2.9

1.9

2.2

3.1

3.0

2.3

2.7

2.0

1.6

1.0

1.1

1.5

1.6

1.1

0.9

X dan Y merupakan 2 variabel sembarang dan akan dicarivektor rata-rata

sebagai berikut :

̅

(31)

̅

Akan dicari variansi dan kovariansi dari data tersebut :

( )

( )

( )

( )

( )

( )

( )

( )

( )

( )

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )

=0.615

( )

( )

( )

( )

( )

( )

( )

( )

( )

( )

Dari hasil diatas dapat diperoleh matriks kovarians sebagai berikut:

(

)

Dari matriks kovarians diatas dapat dicari nilai eigen dengan definisi sebagai

berikut:

( 𝜆𝐼) (

)

Sehingga diperoleh matriks sebagai berikut:

( 𝜆

𝜆

) (

)

Akan dicari nilai eigen sebagai berikut

:

( ) ( 𝜆)( 𝜆) ( )( )

𝜆 𝜆

𝜆

𝜆

Dari persamaan diatas, diperoleh:

𝜆

(32)

=

𝜆

𝜆

Setelah menemukan

𝜆

dan

𝜆

,lalu masukkan ke dalam matriks S untuk dicari

eigen vector:

Untuk:

𝜆

(

) (

)

(

) (

) (

)

(

)

Misalkan

, maka diperoleh

sebagai berikut:

( )

Sehingga:

*

+ *

+

Untuk:

𝜆

(

) (

)

(

) (

) (

)

(

)

(33)

( )

Sehingga:

*

+ *

+

Jadi dari perhitungan diatas diperoleh vektor eigen sebagai berikut:

(

)

Dimana elemen pada vektor eigen di atas merupakan koefisien komponen

utama pada PCA.

Setelah menemukan

𝜆

dan

𝜆

maka selanjutnya adalah mencari varian dari

kedua komponen tersebut:

𝜆

𝜆

Lalu untuk mendapatkan PCA menggunakan rumus berikut:

𝐴

𝐴

𝐴

Jadi variabel baru PCA

1

dapat mewakilkan seluruh data awal sebesar 96.5%.

3.4 Tahap Rekomendasi

Untuk merekomendasikan menggunakan

user-based collaborative

filtering

dengan metode

pearson similarity

, harus melalui 3 tahap yaitu :

menghitung nilai rata-rata rating, menormalisasi nilai rating, dan memasukan

nilai

rating

ke

rumus.

(34)

Gambar 3. 2 Langkah dalam merekomendasi film

Pada Gambar 3.2 dijelaskan langkah dalam merekomendasi film,

dari menghitung

similarity

antara

user,

hingga memprediksi

rating

film.

Untuk

source code

tahap-tahap tersebut ada pada Lampiran 2. Film dengan

prediksi

rating

tinggi akan direkomendasikan film tersebut ke

active user

.

Tabel 3. 4 Ilustrasi Data Rating

Film A

Film B

Film C

Film D

Film E

Film F

AAA

4

5

4

3

3

BBB

3

3

3

2

5

CCC

2

3

4

3

2

DDD

5

3

2

3

1

Dari data yang didapat di atas, misalnya dicari rekomendasi untuk

user

AAA,

maka dapat dihitung nilai rata-rata rating tiap

user

:

𝐴𝐴𝐴

( )

(35)

( )

( )

Dari nilai rata-rata rating tersebut, maka dinormalisasi nilai rating yang ada,

sebagai berikut:

Tabel 3. 5 Hasil normalisasi rating

AAA

0.2

1.2

0.2

-0.8

-0.8

BBB

0.2

0.2

0.2

-1.2

1.8

CCC

-0.8

0.2

-1.2

0.2

-0.8

DDD

-2.2

0.2

-0.8

0.2

-1.8

Setelah dinormalisasi, tahap selanjutnya adalah menghitung nilai

pearson

:

( )

∑ (

̅

)(

̅

)

√∑ (

̅

)

(

̅

)

(𝐴𝐴𝐴 ) ( )( ) ( )( ) ( )( ) ( )( ) √( ) ( ) ( ) ( ) ( ) √( ) ( ) ( ) ( ) ( )

(𝐴𝐴𝐴 )

√ √ -0.306 (𝐴𝐴𝐴 ) ( )( ) ( )( ) ( )( ) ( )( ) √( ) ( ) ( ) ( ) ( ) √( ) ( ) ( ) ( ) ( )

(𝐴𝐴𝐴 )

√ √ 0.129 (𝐴𝐴𝐴 ) ( )( ) ( )( ) ( )( ) ( )( ) √( ) ( ) ( ) ( ) ( ) √( ) ( ) ( ) ( ) ( )

(𝐴𝐴𝐴 )

√ √ -0.362

(36)

Tabel 3. 6 Hasil similarity

User

Similarity

CCC

0.129

BBB

-0.306

DDD

-0.362

Skala nilai yang di bilang mirip dan tidak mirip adalah 1 hingga -1. Nilai 1

mempunyai kemiripan/korelasi sangat tinggi, -1 sangat tidak mirip, dan 0 tidak

mirip.

Setelah

mendapatkan

nilai

similarity,

selanjutnya

adalah

merekomendasikan film dengan cara prediksi

rating

. Untuk contoh peneliti

memprediksi

rating

film D untuk

user AAA

dengan menggunakan

similarity

yang

ada

.

( )

̅

(

̅ ) ( )

( )

̅

( )

̅̅̅̅̅̅

( )

̅̅̅̅̅

( )

̅̅̅̅̅̅

( )

(𝐴𝐴𝐴 )

( ) ( ) ( ) ( ) ( ) ( )

(

)

(37)

3.5 Desain User Interface

Gambar 3. 3 Desain Tampilan Hasil Rekomendasi Data Normal

Pada sistem ini mempunyai 3 tampilan, 2 diantaranya sama tapi

output

berbeda yaitu

output

dari hasil rekomendasi tanpa PCA dan hasil rekomendasi

menggunakan PCA. Tiga tampilan tersebut dibagi menjadi

tab,

untuk

tab

pertama

adalah bagian untuk hasil rekomendasi tanpa PCA (Gambar 3.3). Pada tampilan

tersebut ada

input

melalui

spinbox

yang berupa angka saja. Lalu ada

button “OK”

untuk menjalankan proses rekomendasi sesuai

input user.

Lalu hasil rekomendasi

akan ditampilkan pada

textfield

sebelah kiri dan pada

textfield

sebelah kanan

adalah

output

untuk daftar

user

yang mirip. Pada tampilan untuk hasil

rekomendasi menggunakan PCA mempunyai

layout

yang sama dengan tampilan

hasil rekomendasi tanpa PCA bisa dilihat di Gambar 3.4.

(38)

Gambar 3. 4 Layout GUI hasil rekomendasi dengan PCA

Gambar 3. 5 Layout rancangan tampilan perbandingan metode

Pada tampilan perbandingan antara 2 metode terdapat

spinbox

untuk

menentukan

user

mana yang akan diprediksi

rating-

nya

.

Hasil

output

berupa

(39)

Tabel perbandingan

rating

asli dengan prediksi

rating

dari metode normal dan

tanpa PCA pada kolom pertama dan uji akurasi pada kolom kedua yang tersedia.

3.6 Spesifikasi Hardware dan Software

Spesifikasi

software

dan

hardware

yang digunakan dalam implementasi

sistem ini adalah:

3.6.1 Software

1.

Sistem operasi yang digunakan adalah

Microsoft

Windows

10 64

bit

.

2.

Bahasa pemrograman yang digunakan adalah

Python

dengan aplikasi

Spyder

.

3.6.2 Hardware

Berikut adalah spesifikasi perangkat keras yang digunakan dalam penelitian :

1.

Processor

Intel

®

Core™ i7

-6700HQ

CPU

@ 2.60GHz, 2562 Mhz.

2.

Memori (

RAM

) sebesar 8.00

GB

.

(40)

28

BAB IV

IMPLEMENTASI DAN ANALISA HASIL

4.1 Implementasi Alat Uji

4.1.1 User Interface

Dalam pembuatan sistem rekomendasi ini penulis menggunakan Python

versi 3. Sistem dibuat untuk dapat menampilkan hasil rekomendasi dari 2 metode

dan hasil perbandingan hasil 2 metode tersebut dalam sebuat

graphical user

interface

(GUI).

Output

yang dihasilkan dari sistem ini sebanyak 3 hasil

komputasi, yaitu hasil rekomendasi film , Top-10 N, dan hasil perbandingan 2

metode. Yang pertama adalah hasil rekomendasi ditampilkan di GUI terbagi

menjadi 2, yaitu GUI untuk hasil rekomendasi tanpa PCA dan hasil rekomendasi

yang menggunakan PCA. Untuk

source code

GUI dapat dilihat di Lampiran 2.

Berikut adalah tampilan sistem rekomendasi dari data Normal:

(41)

Berikut adalah tampilan sistem rekomendasi dari data PCA:

Gambar 4. 2 GUI hasil rekomendasi data PCA userId=414

Tampilan sistem rekomendasi dari data PCA, yang dimana memiliki

struktur yang sama dengan tampilan sistem rekomendasi dari data normal dengan

tambahan fitur berupa pilihan total

principal component

, nilai yang dapat

digunakan adalah dari skala 1-500 dan jika kolom PCA kosong maka nilai

default

sebesar 500

principal component

akan digunakan.

Tampilan terakhir yaitu hasil perbandingan kedua prediksi

rating

. Hasil

perbandingan ditampilkan di GUI mempunyai 2 bagian yaitu bagian untuk hasil

tanpa PCA (normal) dan hasil menggunakan PCA. Untuk

input

pada GUI ini

adalah jumlah

userId

yang akan dilakukan prediksi rekomendasi

.

Lalu hasil

prediksinya dibandingkan dengan data

rating

asli

user,

dan hasil perbandingan

dari 2 prediksi

rating

berupa MAE, MSE, RMSE, Time (waktu), dan jumlah dari

data prediksi

rating

dengan data

rating

asli

user

.

(42)

Gambar 4. 3 GUI hasil perbandingan userId=414

4.1.2 Hasil Rekomendasi Tanpa Dimensionality Reduction

Untuk

interface

hasil rekomendasi tanpa dimensionality reduction

(PCA) berupa Top 10

neighbor

dari

active user

dan judul film yang

mempunyai prediksi

rating

diatas 3. Untuk film hasil rekomendasi diambil

hasil prediksi

rating

yang melebihi 3. Untuk Top-10 N, diambil 10

userId

dengan nilai

similarity

tertinggi.

Berikut adalah hasil rekomendasi film dan Top-10 N untuk masing-masing

metode. Untuk data normal, hasil Top-10 N dari

userId

=50:

Tabel 4. 1 Top 10 N dari userId=50

userId

Similarity

337

1

383

1

151

1

194

1

127

1

575

1

172

1

(43)

250

0.98

253

0.97

9

0.97

Berikut rekomendasi film untuk

userId

=50, dihasilkan:

Tabel 4. 2 Hasil Rekomendasi Film userId=50

prediksi

movie

3.19

Phenomenon (1996)

3.19

Happy Gilmore (1996)

3.18

Miller's Crossing (1990)

3.18

Shawshank Redemption,

The (1994)

3.18

Cruise, The (1998)

3.18

I Spit on Your Grave

(Day of the Woman)

(1978)

3.14

Iron Giant, The (1999)

3.14

Once Upon a Time in the

West (C'era una volta il

West) (1968)

3.11

Pushing Tin (1999)

3.10

Broken Arrow (1996)

Kedua output tersebut akan ditampilkan hasilnya pada GUI halaman untuk

rekomendasi tanpa metode PCA.

4.1.3 Hasil Rekomendasi Dengan Dimensionality Reduction

Lalu untuk

PCA

memiliki tahap

preprocessing

tersendiri yaitu

standarisasi data dengan rumus

Z-Score

dari data yang telah di

preprocessing

untuk dapat melanjutkan tahap PCA

.

Tahap selanjutnya untuk data yang

menggunakan PCA, data film yang tadinya mempunyai dimensi matriks sebesar

610×9742, direduksi menjadi 610×500

,

lalu menghitung kovarian matriks,

dilanjutkan dengan mencari nilai eigen dan vektor eigen yang merupakan nilai

karakteristik dari matriks. Vektor eigen dengan nilai eigen yang terbesar disebut

sebagai

principal component

dari sebuah matriks sehingga matriks dapat

direduksi.

(44)

Grafik 4. 1 Kurva perbandingan jumlah komponen dengan varians

Dari kurva diatas, dapat diketahui bahwa berapa besar varians data yang

didapat data PCA terhadap normal. Total varians yang didapat dengan mereduksi

data hingga 500 yaitu adalah 0.9922 (99,22%) dan untuk total varians setiap PCA

dapat dilihat di Lampiran 1.

Setelah didapatkan matriks yang telah direduksi, selanjutnya adalah

menghitung

similarity

antar

user.

Top-10 N dari

userId

=50:

Tabel 4. 3 Top 10 N dari userId=50

userId

Similarity

289

0.11

153

0.11

47

0.1

194

0.1

567

0.1

365

0.09

416

0.09

433

0.09

158

0.08

139

0.08

Untuk data PCA, dan mencari rekomendasi film untuk

userId

=50, dihasilkan:

Tabel 4. 4 Hasil Rekomendasi Film userId=50

prediksi

movie

3.02

Shawshank Redemption,

(45)

3.01

Agent Cody Banks 2:

Destination London

(2004)

4.1.4 Perbandingan Hasil Rekomendasi

Untuk

output

perbandingan hasil rekomendasi antara 2 metode, melakukan

perbandingan hasil prediksi

rating

dengan data

rating

asli

user

. Pada kolom

pertama ada tabel dari

rating

asli dan juga

rating

hasil prediksi, sehingga dapat

terlihat perbedaan antar prediksi dengan

rating

asli.

Tabel 4. 5 Perbandingan rating dari userId=414

movieId

Asli

Prediksi Normal

Prediksi PCA

1

4

3.39

3.69

2

3

3.39

3.35

3

4

3.39

3.19

5

2

3.39

3.29

6

3

3.39

3.56

Lalu ada kolom untuk hasil uji akurasi prediksi

rating

seperti hasil MAE,

MSE, RMSE, dan waktu.

Untuk

userId

=9, didapat hasil perbandingan

rating

seperti:

Tabel 4. 6 Perbandingan rating userId=9

Jenis

MAE

MSE

RMSE

Time

Jumlah

Normal

1.03

1.51

1.23

9.25

46

PCA

1.05

1.58

1.26

2.81

46

Uji perbandingan dibagi menjadi 2 jenis yaitu data normal dan data PCA, lalu

yang dibandingkan adalah MAE, MSE, RMSE dan waktu dari hasil prediksi

dengan

rating

asli

user.

Pada kolom “Jumlah” merupakan jumlah prediksi

rating

yang dibandingkan dengan

rating

asli

user.

(46)

4.2 Analisis Hasil

4.2.1 Skenario Uji Coba

Untuk uji coba akan dibagi menjadi 3 tahap yaitu tahap uji coba variasi PCA,

uji coba akurasi dan uji coba konsumsi waktu. Uji coba variasi PCA untuk

mendapatkan seberapa banyak

principal component

yang efektif untuk digunakan

dalam sistem rekomendasi. Uji akurasi untuk mendapatkan hasil perbandingan

error

dari sistem rekomendasi tanpa PCA dan sistem rekomendasi dengan PCA.

Uji akurasi konsumsi waktu untuk membandingkan waktu komputasi dari sistem

rekomendasi tanpa PCA dan sistem rekomendasi dengan PCA.

4.2.2 Uji Coba Variasi PCA

Pada uji coba ini, PCA akan diuji dengan total

principal component

sebanyak 50, 100, 150, 200, 250, 300, 350, 400, 450, 500 untuk melihat berapa

total

principal component

yang paling signifikan. Sehingga didapat hasil uji

sebagai berikut:

Tabel 4. 7 Uji akurasi beragam PC dari rating userId=200

PCA

MAE

MSE

RMSE

TIME

% of

cumulative

50

0.62

0.71

0.84

2.93

50.79

100

0.64

0.76

0.87

3.22

67.86

(47)

200

0.62

0.70

0.84

2.75

84.87

250

0.61

0.68

0.83

2.90

89.63

300

0.60

0.68

0.82

3.32

93.01

350

0.60

0.67

0.82

3.22

95.43

400

0.60

0.67

0.82

3.42

97.17

450

0.60

0.67

0.82

3.40

98.39

500

0.60

0.67

0.82

4.73

99.22

Berikut kurva perbandingan hasil uji akurasi dari 5

active users:

(48)

Grafik 4. 3 Perbandingan hasil MSE dari 5 active users

(49)

Grafik 4. 5 Perbandingan konsumsi waktu dari 5 principal components

Dari 4 kurva diatas dapat disimpulkan bahwa semakin banyak

principal

component

maka semakin sedikit

error

yang akan dihasilkan selama prediksi

rating.

Semakin banyak

principal component

maka semakin lama waktu yang

diperlukan untuk memprediksi

rating.

Namun nilai

error

yang didapatkan tidak

melebihi dari nilai

error

prediksi data normal dan juga waktu yang diperlukan

tidak selama data normal. Untuk

principal component

sebanyak 300 memiliki

nilai

error

yang sama dengan

principal components

sebanyak 400 dan 500 dengan

konsumsi waktu yang lebih sedikit. Sehingga

principal component

sebanyak 300

cukup untuk dijadikan bahan sistem rekomendasi.

4.2.3 Uji Akurasi

Dalam uji akurasi akan dilakukan dengan menggunakan jumlah

principal

component

yang paling efektif, dan setelah melakukan uji coba variasi PCA

didapatkan jumlah

principal component

yang efektif sebesar 300

principal

component.

Pada penelitian ini melakukan percobaan dari 5

active users

dan

dibandingkan hasil uji akurasinya. Dicoba 5

active users

yaitu 157, 200, 573, 312,

dan 414.

(50)

Untuk

userId

=157, didapat hasil perbandingan

rating

seperti:

Tabel 4. 8 Uji akurasi prediksi rating userId=157

Jenis

MAE

MSE

RMSE

Time

Jumlah

Normal

0.88

1.01

1.01

9.09

21

PCA

0.88

1.01

1.01

2.49

21

Untuk

userId

=200, didapat hasil perbandingan

rating

seperti:

Tabel 4. 9 Uji akurasi prediksi rating userId=200

Jenis

MAE

MSE

RMSE

Time

Jumlah

Normal

0.64

0.76

0.87

8.96

225

PCA

0.6

0.68

0.82

3.08

225

Untuk

userId

=573, didapat hasil perbandingan

rating

seperti:

Tabel 4. 10 Uji akurasi prediksi rating userId=573

Jenis

MAE

MSE

RMSE

Time

Jumlah

Normal

0.69

0.62

0.79

8.74

158

PCA

0.66

0.6

0.77

2.98

158

Untuk

userId

=312, didapat hasil perbandingan

rating

seperti:

Tabel 4. 11 Uji akurasi prediksi rating userId=312

Jenis

MAE

MSE

RMSE

Time

Jumlah

Normal

0.69

0.73

0.86

8.6

223

PCA

0.7

0.75

0.86

2.98

223

Untuk

userId

=414, didapat hasil perbandingan

rating

seperti:

Tabel 4. 12 Uji akurasi prediksi rating userId=414

Jenis

MAE

MSE

RMSE

Time

Jumlah

Normal

0.83

0.92

0.96

8.35

2247

(51)

Grafik 4. 6 BarGraph dari uji akurasi 5 active user

Dari uji akurasi kelima

active user,

memiliki hasil

error

berupa MAE,

MSE, dan RMSE yang berdekatan dan 1 dari 5 hasil rekomendasi PCA memliki

nilai

error

yang lebih tinggi dari hasil rekomendasi tanpa PCA.

4.2.4 Uji Konsumsi Waktu

Untuk 5

active users

diatas dihitung juga waktu komputasi untuk dapat

dibandingkan, dan didapat hasil perbandingan waktu seperti:

Tabel 4. 13 Uji konsumsi waktu 2 metode untuk 5 active users

Jenis

157

200

573

312

414

Normal

9.09

8.96

8.74

8.6

8.35

(52)

Grafik 4. 7 Line Chart dari uji konsumsi waktu 5 active user

Untuk perbandingan konsumsi waktu dari kedua metode dengan menguji

konsumsi waktu dari 5

active users,

bisa dilihat bahwa waktu yang dikonsumsi

oleh metode PCA relatif lebih cepat dibandingkan dengan data tanpa PCA.

Dari percobaan diatas, didapat bahwa penggunaan PCA dalam sistem

rekomendasi mempercepat proses rekomendasi dan untuk nilai MAE, MSE, dan

RMSE mempunyai perbedaan 1 hingga 2 angka dibelakang koma.

Gambar

Gambar 2. 1 Ilustrasi Metode pendekatan
Gambar 2. 2 Ilustrasi user-based collaborative filtering
Gambar 2. 3 Langkah PCA
Tabel 3. 1 Data Rating.csv
+7

Referensi

Dokumen terkait