Anda di halaman 1dari 25

Sistem Rekomendasi dan

Personalisasi
Pertemuan Ke-7
(Metode Evaluasi pada Sistem Rekomendasi)

Noor Ifada
noor.ifada@trunojoyo.ac.id

S1 Teknik Informatika – Universitas Trunojoyo Madura (UTM) Semester Genap 2019-2020


Sub Pokok Bahasan
Evaluasi Sistem Rekomendasi

Referensi:
Chapter 7: Aggarwal C C [2016].
Recommender Systems – The Textbook.
Springer International Publishing
Switzerland.

S1 Teknik Informatika – Universitas Trunojoyo Madura (UTM) 1


Jenis Evaluasi Sistem Rekomendasi
 Evaluasi User Studies
◦ Users yang terlibat dalam evaluasi direkrut secara khusus
◦ Users ditugaskan untuk berinteraksi dengan sistem
rekomendasi dan memberikan feedback
 Evaluasi Online
◦ Users yang terlibat dalam evaluasi adalah real users
 Evaluasi Offline
◦ Menggunakan data historikal
◦ Contoh:
 MovieLens dataset: https://grouplens.org/datasets/movielens/
 CiteULike dataset: http://static.citeulike.org/data/current.bz2
 Delicious dataset: http://www.dai-
labor.de/en/irml/datasets/delicious
 LastFM dataset:
http://files.grouplens.org/datasets/hetrec2011/hetrec2011-lastfm-
2k.zip

S1 Teknik Informatika – Universitas Trunojoyo Madura (UTM) 2


Tujuan Evaluasi Sistem Rekomendasi
 Accuracy: akurasi hasil rekomendasi
 Coverage: kemampuan merekomendasikan item
kepada sejumlah user, atau user untuk sejumlah item
 Confidence and Trust: tingkat kepercayaan sistem
terhadap rekomendasi dan tingkat kepercayaan user
terhadap evaluasi
 Novelty: kemampuan memberikan rekomendasi yang
sebelumnya belum pernah disukai oleh user
 Serendipity: tingkat keterkejutan user terhadap
rekomendasi yang ternyata ia sukai
 Diversity: tingkat keberagaman daftar rekomendasi
 Robustness and Stability: kemampuan mengatasi
serangan data yang “sengaja” disalahkan
 Scalability: kemampuan mengolah data yang besar

S1 Teknik Informatika – Universitas Trunojoyo Madura (UTM) 3


Evaluasi Offline: METODE
 Menggunakan data historikal
 Metode cross validation dataset:
◦ Data Training/Pelatihan (training set)
◦ Data Test/Pengujian (test set, ground-truth,
hidden)

S1 Teknik Informatika – Universitas Trunojoyo Madura (UTM) 4


Evaluasi Offline: Metode [2]
 Metode Test Set
◦ Secara random menjadikan sebagian dari historikal data
(misal 75%) menjadi data training
◦ Sisa historikal data (misal 25%) menjadi data test
◦ Data training digunakan untuk pemodelan sistem
rekomendasi
◦ Data test digunakan untuk evaluasi hasil rekomendasi

S1 Teknik Informatika – Universitas Trunojoyo Madura (UTM) 5


Evaluasi Offline: Metode [3]
 Metode LOOCV (Leave-one-out Cross
Validation)
◦ Untuk data sejumlah N
 N – 1 bagian digunakan sebagai data training, dan sisanya sebagai
data test
◦ Hasil evaluasi didapatkan dari rata-rata hasil evaluasi
sejumlah N

S1 Teknik Informatika – Universitas Trunojoyo Madura (UTM) 6


Evaluasi Offline: Metode [4]
 Metode k-fold Cross Validation
◦ Secara random membagi data menjadi sejumlah k-fold
◦ Pada masing-masing fold:
 k– 1 bagian digunakan sebagai data training, dan sisanya sebagai
data test
◦ Hasil evaluasi didapatkan dari rata-rata hasil evaluasi tiap
fold

S1 Teknik Informatika – Universitas Trunojoyo Madura (UTM) 7


Evaluasi Offline: Metode [5]
 Contoh (1 Fold)
◦ Dataset (data rating)
Item User Item Rating
1 1 2
1 2 3 4 5
1 2 1
1 2 1 4
1 3 4
2 2 3 2 2 2
User

3 3 2 2 5 3
3 1 3
4 4 3 2
3 4 2
4 2 4
4 3 3
4 4 2

S1 Teknik Informatika – Universitas Trunojoyo Madura (UTM) 8


Evaluasi Offline: Metode [6]
 Contoh (1 Fold)
◦ Dataset (data rating)
◦ Dataset  10 data rating
User Item Rating
◦ Data Training = 80%  8 data rating
1 1 2
◦ Data Test = 20%  2 data rating
1 2 1
User Item Rating
1 3 4
1 1 2 Training
2 2 2
1 2 1 Training
2 5 3 1 3 4 Test
3 1 3 2 2 2 Training
3 4 2 2 5 3 Training
4 2 4 3 1 3 Training
4 3 3 3 4 2 Training

4 4 2 4 2 4 Training
4 3 3 Test
4 4 2 Training

S1 Teknik Informatika – Universitas Trunojoyo Madura (UTM) 9


Evaluasi Offline: Metode [7]
 Contoh (1 Fold) PEMODELAN
Data Item
Training
(data
pemodelan) 1 2 3 4 5
User Item Rating
1 2 1 0 0 0
1 1 2
2 0 2 0 0 3

User
1 2 1
1 3 4 3 3 0 0 2 0

2 2 2 4 0 4 0 2 0
2 5 3
EVALUASI
3 1 3
Data Item Data Item
3 4 2 Prediksi Test
(hasil
4 2 4 perhitungan)
1 2 3 4 5 (hidden data) 1 2 3 4 5

4 3 3 1 ? ? ? 1 4
4 4 2 2
2 ? ? ?

User
User

3 ? ? ? 3

4 ? ? ? 4 3

S1 Teknik Informatika – Universitas Trunojoyo Madura (UTM) 10


Evaluasi Offline: Metrik Akurasi
Menghitung akurasi prediksi/rekomendasi
rating
 Notasi:
◦ E : data test
◦ ruj : (hidden) rating pada data test dari user u untuk item j
◦ řuj : prediksi rating user u terhadap item j
◦ euj = ruj − řuj
 Metrik akurasi:
◦ MSE (Mean Squared Error)
◦ RMSE (Root Mean Squared Error)
◦ MAE (Mean Absolute Error)
◦ NRMSE (Normalized Root Mean Squared Error)
◦ NMAE (Normalized Mean Absolute Error)

S1 Teknik Informatika – Universitas Trunojoyo Madura (UTM) 11


Evaluasi Offline: Metrik Akurasi [2]
Menghitung akurasi prediksi/rekomendasi
rating

Data Item Data Item


Prediksi Test
(hasil
perhitungan)
1 2 3 4 5 (hidden data) 1 2 3 4 5

1 ? ? ? 1 4

2 ? ? ? 2

User
User

3 ? ? ? 3

4 ? ? ? 4 3

S1 Teknik Informatika – Universitas Trunojoyo Madura (UTM) 12


Evaluasi Offline: Metrik Akurasi [3]
 MSE (Mean Squared Error)
◦ E : data test
◦ ruj : (hidden) rating pada data test (user u untuk item j)
◦ řuj : prediksi rating user u terhadap item j
◦ euj = ruj − řuj
 Contoh (untuk satu user):

Item 1 Item 3 Item 4 Item 7


(Hidden) rating dalam data test
User 3 5 5 1 6
Prediksi rating (hasil perhitungan)
User 3 4,3 5,4 1,3 5
2 2 2 2
5 − 4,3 + 5 − 5,4 + 1 − 1,3 + 6−5
𝑀𝑆𝐸 =
4
0,72 + −0,42 + −0,32 + 12
=
4

S1 Teknik Informatika – Universitas Trunojoyo Madura (UTM) 13


Evaluasi Offline: Metrik Akurasi [4]
 RMSE (Root Mean Squared Error)
◦ E : data test
◦ ruj : (hidden) rating pada data test (user u untuk item j)
◦ řuj : prediksi rating user u terhadap item j
◦ euj = ruj − řuj
 Contoh (untuk satu user):
Item 1 Item 3 Item 4 Item 7
(Hidden) rating dalam data test
User 3 5 5 1 6
Prediksi rating (hasil perhitungan)
User 3 4,3 5,4 1,3 5

5 − 4,3 2 + 5 − 5,4 2+ 1 − 1,3 2 + 6−5 2


𝑅𝑀𝑆𝐸 =
4

0,72 + −0,42 + −0,32 + 12


= = 0,6596
4
S1 Teknik Informatika – Universitas Trunojoyo Madura (UTM) 14
Evaluasi Offline: Metrik Akurasi [5]
 MAE (Mean Absolute Error)
◦ E : data test
◦ ruj : (hidden) rating pada data test (user u untuk item j)
◦ řuj : prediksi rating user u terhadap item j
◦ euj = ruj − řuj
 Contoh (untuk satu user):
Item 1 Item 3 Item 4 Item 7
(Hidden) rating dalam data test
User 3 5 5 1 6
Prediksi rating (hasil perhitungan)
User 3 4,3 5,4 1,3 5
5 − 4,3 + 5 − 5,4 + 1 − 1,3 + 6 − 5
𝑀𝐴𝐸 =
4
0,7 + 0,4 + 0,3 + 1
= = 0,6
4

S1 Teknik Informatika – Universitas Trunojoyo Madura (UTM) 15


Evaluasi Offline: Metrik Akurasi [6]
 NRMSE (Normalized Root Mean Squared Error)
◦ E : data test
◦ ruj : (hidden) rating pada data test (user u untuk item j)
◦ řuj : prediksi rating user u terhadap item j
◦ euj = ruj − řuj
 Contoh (untuk satu user):
Item 1 Item 3 Item 4 Item 7
(Hidden) rating dalam data test
User 3 5 5 1 6
Prediksi rating (hasil perhitungan)
User 3 4,3 5,4 1,3 5

0,6596
𝑁𝑅𝑀𝑆𝐸 =
6−1
= 0,1319

S1 Teknik Informatika – Universitas Trunojoyo Madura (UTM) 16


Evaluasi Offline: Metrik Akurasi [7]
 NMAE (Normalized Mean Absolute Error)
◦ E : data test
◦ ruj : (hidden) rating pada data test (user u untuk item j)
◦ řuj : prediksi rating user u terhadap item j
◦ euj = ruj − řuj
 Contoh (untuk satu user):
Item 1 Item 3 Item 4 Item 7
(Hidden) rating dalam data test
User 3 5 5 1 6
Prediksi rating (hasil perhitungan)
User 3 4,3 5,4 1,3 5

0,6
𝑁𝑀𝐴𝐸 =
6−1
= 0,12

S1 Teknik Informatika – Universitas Trunojoyo Madura (UTM) 17


Evaluasi Offline: Metrik Akurasi [8]
Menghitung akurasi rekomendasi top-N
(ranking)
 Notasi:
◦ t : jumlah rekomendasi
◦ S(t) : rekomendasi top-N, dimana |S(t)| = t
◦ G : ground-truth (data test)
 Metrik akurasi:
◦ Precision
◦ Recall
◦ F1-Score
◦ AP (Average Precision)
◦ MAP (Mean Average Precision)
◦ DCG (Discounted Cumulative Gain)
◦ NDCG (Normalized Discounted Cumulative Gain)

S1 Teknik Informatika – Universitas Trunojoyo Madura (UTM) 18


Evaluasi Offline: Metrik Akurasi [9]
Menghitung akurasi prediksi/rekomendasi
rating

Data Item Data Item


Prediksi Test
(hasil
perhitungan)
1 2 3 4 5 (hidden data) 1 2 3 4 5

1 ? ? ? 1 4

2 ? ? ? 2

User
User

3 ? ? ? 3

4 ? ? ? 4 3

S1 Teknik Informatika – Universitas Trunojoyo Madura (UTM) 19


Evaluasi Offline: Metrik Akurasi [10]
 Precision
◦ t : jumlah rekomendasi
◦ S(t): rekomendasi top-N, dimana |S(t)| = t
◦ G : ground-truth (data test)
 Contoh (untuk satu user):
(Hidden) Ground-truth (dalam data test)
User 3 G i1 i3 i6 i9 i10
Rekomendasi top-N (hasil perhitungan/prediksi)
User 3 S(10) i8 i6 i3 i10 i5 i2 i7 i1 i9 i4
0 3 5
Pr ecision(1)  100   0 Pr ecision(5)  100   60 Pr ecision(9)  100   55,56
1 5 9
1 3 5
Pr ecision(2)  100   50 Pr ecision(6)  100   50 Pr ecision(10)  100   50
2 6 10
2 3
Pr ecision(3)  100   66,67 Pr ecision(7)  100   42,85
3 7
3 4
Pr ecision(4)  100   75 Pr ecision(8)  100   50
4 8
S1 Teknik Informatika – Universitas Trunojoyo Madura (UTM) 20
Evaluasi Offline: Metrik Akurasi [11]
 Recall
◦ t : jumlah rekomendasi
◦ S(t): rekomendasi top-N, dimana |S(t)| = t
◦ G : ground-truth (data test)
 Contoh (untuk satu user):
(Hidden) Ground-truth (dalam data test)
User 3 G i1 i3 i6 i9 i10
Rekomendasi top-N (hasil perhitungan/prediksi)
User 3 S(10) i8 i6 i3 i10 i5 i2 i7 i1 i9 i4
0 3 5
Re call (1)  100   0 Re call (5)  100   60 Re call (9)  100   100
5 5 5
1 3 5
Re call (2)  100   20 Re call (6)  100   60 Re call (10)  100   100
5 5 5
2 3
Re call (3)  100   40 Re call (7)  100   60
5 5
3 4
Re call (4)  100   60 Re call (8)  100   80
5 5
S1 Teknik Informatika – Universitas Trunojoyo Madura (UTM) 21
Evaluasi Offline: Metrik Akurasi [12]
 F1-Score
◦ t : jumlah rekomendasi
◦ S(t): rekomendasi top-N, dimana |S(t)| = t
◦ G : ground-truth (data test)
 Contoh (untuk satu user):
(Hidden) Ground-truth (dalam data test)
User 3 G i1 i3 i6 i9 i10
Rekomendasi top-N (hasil perhitungan/prediksi)
User 3 S(10) i1 i2 i3 i 4 i5 i 6 i7 i8 i9 i10
200
F1(1)  0
00
2  50  20
F1(2)   28.57
50  20
2  66,67  40
F1(3)   50
66,67  40
dst 
S1 Teknik Informatika – Universitas Trunojoyo Madura (UTM) 22
Tugas Mandiri
 Hitung Precision, Recall, dan F1-Score untuk
data berikut:
(Hidden) Ground-truth (dalam data test)
User 3 G i1 i3 i6 i9 i10
Rekomendasi top-N (hasil perhitungan/prediksi) Sistem 1
User 3 S(10) i1 i2 i3 i 4 i5 i 6 i7 i8 i9 i10
Rekomendasi top-N (hasil perhitungan/prediksi) Sistem 2
User 3 S(10) i10 i9 i8 i7 i6 i5 i4 i3 i2 i1
 Pelajari cara menghitung akurasi rekomendasi
top-N (ranking):
◦ AP (Average Precision)
◦ MAP (Mean Average Precision)
◦ DCG (Discounted Cumulative Gain)
◦ NDCG (Normalized Discounted Cumulative Gain)
S1 Teknik Informatika – Universitas Trunojoyo Madura (UTM) 23
S1 Teknik Informatika – Universitas Trunojoyo Madura (UTM)

Anda mungkin juga menyukai