1. Masalah Bacaan
1.1. Bab 9
1.1.1. Tiga komputer, A, B, dan C, memiliki fitur numerik yang tercantum di bawah ini:
Kita dapat membayangkan nilai-nilai ini sebagai vektor untuk setiap komputer; misalnya,
vektor A adalah [3,06, 500, 6]. Kita dapat menghitung jarak kosinus antara dua vektor
mana pun, tetapi jika kita tidak menskalakan komponen, maka ukuran disk akan
mendominasi dan membuat perbedaan pada komponen lain pada dasarnya tidak terlihat.
Mari kita gunakan 1 sebagai faktor skala untuk kecepatan prosesor, α untuk ukuran disk,
dan β untuk ukuran memori utama.
(a) Dalam hal α dan β, hitung cosinus sudut antara vektor untuk setiap pasangan dari tiga
komputer.
= 8.2008 + 160000 + 24
√(9.36 + 250000 + 36) * √(7.18 + 102400 + 16)
= 0.99
= 8.9352 + 320000 + 36
√(9.36 + 250000 + 36) * √(8.53 + 409600 + 36)
= 0.99
= 7.8256 + 204800 + 24
√(7.18 + 102400 + 16) * √(8.53 + 409600 + 36)
= 0.99
= 8.2008 + 16 + 6
√(9.36 + 25 + 9) * √(7.18 + 10.24 + 4)
= 0.99
= 8.9352 + 32 + 9
√(9.36 + 25 + 9) * √(8.53 + 40.96 + 9)
= 0.99
Sudut antara vektor A dan C kira-kira 0◦
= 7.8256 + 20.48 + 6
√(7.18 + 10.24 + 4) * √(8.53 + 40.96 + 9)
= 0.97
(d) Salah satu cara yang adil untuk memilih faktor skala adalah membuat masing-masing
berbanding terbalik dengan nilai rata-rata dalam komponennya . Berapa nilai α dan β, dan
berapa sudut antara vektor?
Nilai α = 3 = 0.002
(500+320+640)
Nilai β = 3 = 0.1875
(6+4+6)
= 0.996
= 0.98
1.1.2. Seorang pengguna tertentu telah menilai ketiga komputer Latihan 9.2.1 sebagai berikut:
A: 4 bintang, B: 2 bintang, C: 5 bintang.
(b) Hitung profil pengguna untuk pengguna, dengan komponen kecepatan prosesor, ukuran
disk, dan ukuran memori utama, berdasarkan data Latihan 9.2.1.
1.1.3. Gambar 9.8 adalah matriks utilitas, yang mewakili peringkat, pada skala bintang 1–5,
dari delapan item, a sampai h, oleh tiga pengguna A, B, dan C. Hitung yang berikut dari
data matriks ini.
(a) Perlakukan matriks utilitas sebagai boolean, hitung jarak Jaccard antara setiap pasangan
pengguna.
Jarak Jaccard = F 11
F 11 +F 01 +F 10
J kartu(A, B) = 4 = 1 = 0,5
8 2
Jaccard(B, C) = 4 = 1 = 0,5
8 2
Jaccard(A, C) = 4 = 1 = 0,5
8 2
A=[4,5,0,5,1,0,3,2]
B=[0,3,4,3,1,2,1,0]
B=[0,3,4,3,1,2,1,0]
C=[2,0,1,3,0,4,5,3]
A=[4,5,0,5,1,0,3,2]
C=[2,0,1,3,0,4,5,3]
(c) Perlakukan peringkat 3, 4, dan 5 sebagai 1 dan 1, 2, dan kosong sebagai 0. Hitung jarak
Jaccard antara setiap pasangan pengguna.
A B C D e F G H
A 1 1 0 1 0 0 1 0
B 0 1 1 1 0 0 0 0
C 0 0 0 1 0 1 1 1
Jarak Jaccard = F 11
F 11 +F 01 +F 10
J kartu(A, B) = 2 = 0,4
5
Jaccard(B, C) = 1 = 0,167
6
Jaccard(A, C) = 2 = 1 = 0,333
6 3
(d) Ulangi Bagian (c), tetapi gunakan jarak kosinus.
A=[1,1,0,1,0,0,1,0]
B=[0,1,1,1,0,0,0,0]
B=[0,1,1,1,0,0,0,0]
C=[0,0,0,1,0,1,1,1]
A=[1,1,0,1,0,0,1,0]
C=[0,0,0,1,0,1,1,1]
(e) Normalisasikan matriks dengan mengurangkan dari setiap entri yang tidak kosong nilai rata-
rata untuk penggunanya.
Matriks Normalisasi
A B C D e F G H
A 0.67 1.67 1.67 -2.34 -0.34 -1.34
B 0.67 1.67 0.67 -1.34 -0.34 -1.34
C -1 -2 0 1 2 0
(f) Dengan menggunakan matriks ternormalisasi dari Bagian (e), hitung jarak kosinus antara
setiap pasangan pengguna.
A=[0,67,1,67,0,1,67,-2,34,0,-0,34,-1,34]
B=[0,0.67,1.67,0.67,-1.34,-0.34,-1.34,0]
1.1.4. Dimulai dengan dekomposisi Gambar 9.10, kita dapat memilih salah satu dari 20 entri
dalam U atau V untuk dioptimalkan terlebih dahulu. Lakukan langkah pengoptimalan
pertama ini dengan asumsi kita memilih:
(a) kamu 32
1 1 2 2 2 2 2
1 1 1 1 1 1 1 2 2 2 2 2
1 X X = 1+x 1+x 1+x 1+x 1+x
1 1 1 1 1 1 1 2 2 2 2 2
1 1 2 2 2 2 2
Kontribusi terhadap jumlah kuadrat dari baris ketiga adalah
(x − 1) 2 + (𝑥 − 2) 2 +𝑥 2 + (𝑥 − 3) 2
Kami menemukan nilai minimum dari ekspresi ini dengan membedakan dan menyamakan
dengan 0, sebagai:
2 × ((x − 1) + (x − 2) + x + (x − 3)) = 0
1 1 2 2 2 2 2
1 1 1 1 1 1 1 2 2 2 2 2
1 1.5 X = 2.5 2.5 2.5 2.5 2.5
1 1 1 1 1 1 1 2 2 2 2 2
1 1 2 2 2 2 2
(b) v 14
1 1 2 2 2 y+1 2
1 1 1 1 1 y 1 2 2 2 y+1 2
1 1 X = 2 2 2 y+1 2
1 1 1 1 1 1 1 2 2 2 y+1 2
1 1 2 2 2 y+1 2
Kami menemukan nilai minimum dari ekspresi ini dengan membedakan dan menyamakan
dengan 0, sebagai:
2 × ((y − 3) + (y − 3) + y + (y − 2) + (y − 3)) = 0
1 1 2 2 2 3.2 2
1 1 1 1 1 2.2 1 2 2 2 3.2 2
1 1 X = 2 2 2 3.2 2
1 1 1 1 1 1 1 2 2 2 3.2 2
1 1 2 2 2 3.2 2
2. Masalah Praktikum
2.1. Masalah 1
Muat dataset Movielens 100k (ml-100k.zip) ke dalam Python menggunakan kerangka data
Pandas. Bangun profil pengguna pada data yang tidak diskalakan untuk pengguna 200 dan 15,
dan hitung kesamaan kosinus dan jarak antara preferensi pengguna dan item/film 95. Kepada
pengguna mana sistem pemberi rekomendasi menyarankan film ini?
Kemiripan & Jarak Cosine antara Preferensi Pengguna dan Profil Item:
Berdasarkan skor Cosine Distance and Similarity antara preferensi Pengguna dan profil Item
untuk film 95, sistem pemberi rekomendasi harus menyarankan film ini kepada Pengguna
200 dengan skor Cosine Similarity yang lebih tinggi yaitu 0,38745727.
2.2. Masalah 2
Muat dataset Movielens 100k (ml-100k.zip) ke dalam Python menggunakan kerangka data
Pandas. Ubah data peringkat menjadi representasi matriks utilitas, dan temukan 10 pengguna
yang paling mirip untuk pengguna 1 berdasarkan kesamaan kosinus dari data peringkat
pengguna. Berdasarkan rata-rata rating item 508 dari pengguna serupa, berapa rating yang
diharapkan untuk item ini untuk pengguna 1?
Berdasarkan rata-rata rating untuk item 508 dari pengguna serupa, berapa rating yang
diharapkan untuk item ini untuk pengguna 1?
Data yang Dinormalisasi [dengan memundurkan rata-rata pengguna dalam Matriks Utilitas]:
Temukan 10 pengguna yang paling mirip untuk pengguna 1 berdasarkan kesamaan kosinus dari
data peringkat pengguna:
Berdasarkan rata-rata rating untuk item 508 dari pengguna serupa, berapa rating yang
diharapkan untuk item ini untuk pengguna 1?