BaşlayınÜcretsiz başlayın

Seyrekliği hesapla

Bildiğin gibi, ALS seyrek veri kümeleriyle iyi çalışır. ratings matrisinin ne kadarının aslında boş olduğuna bakalım.

Unutma, seyreklik; bir matristaki puan içeren hücre sayısının, o matrisin kullanıcı ve öğe (film) sayısına göre alabileceği toplam hücre sayısına bölünmesiyle hesaplanır. Başka bir deyişle, matriste mevcut puan sayısını matristeki kullanıcı ve film sayısının çarpımına bölüp bunu 1'den çıkarmak, bize seyreklik değerini yani ratings matrisinin boş olan yüzdesini verir.

Bu egzersiz, kursun bir parçasıdır

PySpark ile Öneri Motorları Oluşturma

Kursa Göz Atın

Egzersiz talimatları

  • ratings matrisinde yer alan toplam puan sayısını sayarak seyreklik metriğinin numerator değerini hesapla.
  • ratings matrisindeki distinct() userIds ve distinct() movieIds sayılarını hesapla.
  • Kullanıcı sayısını film sayısıyla çarparak seyreklik metriğinin denominator değerini hesapla.
  • numerator değerini denominator değerine böl, 1'den çıkar ve 100 ile çarparak seyrekliği hesapla ve yazdır. 1.0, seyreklik değerinin tam sayı değil ondalık sayı olarak döndürülmesini sağlamak için eklenir.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# 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.")
Kodu Düzenle ve Çalıştır