Hitung sparsity
Seperti yang Anda ketahui, ALS bekerja baik dengan himpunan data yang jarang (sparse). Mari kita lihat seberapa banyak matriks ratings yang sebenarnya kosong.
Ingat bahwa sparsity dihitung dengan jumlah sel dalam sebuah matriks yang berisi rating dibagi total jumlah nilai yang dapat ditampung matriks tersebut berdasarkan jumlah pengguna dan item (film). Dengan kata lain, membagi jumlah rating yang ada dalam matriks dengan hasil kali jumlah pengguna dan jumlah film dalam matriks, lalu mengurangkannya dari 1 akan memberikan kita nilai sparsity atau persentase bagian matriks ratings yang kosong.
Latihan ini merupakan bagian dari kursus
Membangun Recommendation Engine dengan PySpark
Instruksi latihan
- Hitung
numeratoruntuk metrik sparsity dengan menghitung total jumlah rating yang terdapat dalam matriksratings. - Hitung jumlah
distinct()userIdsdandistinct()movieIdsdalam matriksratings. - Hitung
denominatoruntuk metrik sparsity dengan mengalikan jumlah pengguna dengan jumlah film dalam matriksratings. - Hitung dan cetak nilai sparsity dengan membagi
numeratorolehdenominator, mengurangkannya dari 1, dan mengalikannya dengan 100. Angka1.0ditambahkan untuk memastikan sparsity dikembalikan sebagai bilangan desimal, bukan bilangan bulat.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# Count the total number of ratings in the dataset
numerator = ____.select("____").count()
# Count the number of distinct userIds and distinct movieIds
num_users = ____.select("____").____().count()
num_movies = ____.select("____").____().count()
# Set the denominator equal to the number of users multiplied by the number of movies
denominator = ____ * ____
# Divide the numerator by the denominator
sparsity = (1.0 - (____ *1.0)/____)*100
print("The ratings dataframe is ", "%.2f" % sparsity + "% empty.")