Aan de slagBegin gratis

Sparsity berekenen

Zoals je weet werkt ALS goed met sparse gegevenssets. Laten we bekijken hoeveel van de ratings-matrix eigenlijk leeg is.

Onthoud dat sparsity wordt berekend als het aantal cellen in een matrix met een rating gedeeld door het totale aantal waarden dat die matrix kan bevatten, gegeven het aantal gebruikers en items (films). Met andere woorden: deel het aantal aanwezige ratings in de matrix door het product van gebruikers en films in de matrix en trek dat getal af van 1. Zo krijg je de sparsity, oftewel het percentage van de ratings-matrix dat leeg is.

Deze oefening maakt deel uit van de cursus

Aanbevelingssystemen bouwen met PySpark

Bekijk cursus

Oefeninstructies

  • Bereken de numerator van de sparsity-metriek door het totale aantal ratings in de ratings-matrix te tellen.
  • Bereken het aantal distinct() userIds en distinct() movieIds in de ratings-matrix.
  • Bereken de denominator van de sparsity-metriek door het aantal gebruikers te vermenigvuldigen met het aantal films in de ratings-matrix.
  • Bereken en print de sparsity door de numerator te delen door de denominator, daarvan 1 af te trekken en te vermenigvuldigen met 100. De 1.0 is toegevoegd om te zorgen dat de sparsity als een decimaal wordt geretourneerd en niet als een geheel getal.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

# 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.")
Code bewerken en uitvoeren