Kom igångKom igång gratis

Lägg till nollor

Många rekommendationsmotorer använder implicita betyg. I många fall innehåller dessa datamängder inga beteendeantal för produkter som en användare aldrig har köpt. Då behöver du lägga till dem och fylla i nollor. Dataframe:n Z är tillhandahållen. Den innehåller userId, productId och num_purchases, som anger hur många gånger en användare har köpt en specifik produkt.

Den här övningen är en del av kursen

Bygg rekommendationsmotorer med PySpark

Visa kurs

Övningsinstruktioner

  • Ta en titt på dataframe:n Z med metoden .show().
  • Extrahera de unika userId:n och productId:n från Z med metoden .distinct(). Spara resultaten i variablerna users respektive products.
  • Utför en .crossJoin() på dataframe:rna users och products. Spara resultatet i cj.
  • Gör ett "left"-join av cj mot den ursprungliga betygs-dataframe:n Z["userId", "productId"]. Anropa .fillna(0) på resultatet för att fylla i tomma värden med nollor. Spara resultatet i Z_expanded.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# View the data
Z.____()

# Extract distinct userIds and productIds
users = ____.select("____").____()
products = Z.____("productId").____()

# Cross join users and products
____ = users.____(products)

# Join cj and Z
____ = cj.join(Z, ["____", "____"], "left").____(0)

# View Z_expanded
____.show()
Redigera och kör kod