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
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
v
HALAMAN MOTO
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.
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.
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
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
xiii
LAMPIRAN... 44
Lampiran 1: Tabel Varians dan Kumulative tiap principal components ... 44
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
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
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
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
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
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.
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
.
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.
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.
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
.
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.
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.
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,udan r
j,uadalah
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)
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.
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)
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
(
𝜆𝐼
−
𝐴
)
𝐯
=
𝟎
(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)
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)
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
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.
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.
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 :
̅
̅
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:
𝜆
√
√
=
√𝜆
√
𝜆
√
Setelah menemukan
𝜆
dan
𝜆
,lalu masukkan ke dalam matriks S untuk dicari
eigen vector:
Untuk:
𝜆
(
) (
)
(
) (
) (
)
(
)
Misalkan
, maka diperoleh
sebagai berikut:
( )
Sehingga:
*
+ *
+
Untuk:
𝜆
(
) (
)
(
) (
) (
)
(
)
( )
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
1dapat 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.
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
:
𝐴𝐴𝐴
( )
( )
( )
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.362Tabel 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
.
( )
̅
∑
(
∑
̅ ) ( )
( )
̅
( )
̅̅̅̅̅̅
( )
̅̅̅̅̅
( )
̅̅̅̅̅̅
( )
(𝐴𝐴𝐴 )
( ) ( ) ( ) ( ) ( ) ( )
(
)
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.
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
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
.
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:
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
.
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
250
0.98
253
0.97
9
0.97
Berikut rekomendasi film untuk
userId
=50, dihasilkan:
Tabel 4. 2 Hasil Rekomendasi Film userId=50prediksi
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.
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,
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=9Jenis
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.
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
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:
Grafik 4. 3 Perbandingan hasil MSE dari 5 active users
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.
Untuk
userId
=157, didapat hasil perbandingan
rating
seperti:
Tabel 4. 8 Uji akurasi prediksi rating userId=157Jenis
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=200Jenis
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=573Jenis
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=312Jenis
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=414Jenis
MAE
MSE
RMSE
Time
Jumlah
Normal
0.83
0.92
0.96
8.35
2247
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
Grafik 4. 7 Line Chart dari uji konsumsi waktu 5 active user
Untuk perbandingan konsumsi waktu dari kedua metode dengan menguji