Nullen hinzufügen
Viele Empfehlungssysteme verwenden implizite Bewertungen. In vielen Fällen enthalten diese Datensätze keine Verhaltenszählungen für Artikel, die ein Nutzer noch nie gekauft hat. In solchen Fällen musst du sie ergänzen und Nullen aufnehmen. Das DataFrame Z ist für dich bereitgestellt. Es enthält userIds, productIds und num_purchases, also die Anzahl der Käufe eines bestimmten Produkts durch einen Nutzer.
Diese Übung ist Teil des Kurses
<Kurs>Recommendation Engines mit PySpark erstellen</Kurs>Übungsanweisungen
- Schau dir das DataFrame
Zmit der Methode.show()an. - Extrahiere die unterschiedlichen
userIds undproductIds ausZmit der Methode.distinct(). Nenne die Ergebnisse entsprechendusersundproducts. - Führe ein
.crossJoin()auf den DataFramesusersundproductsaus. Nenne das Ergebniscj. - Führe einen
"left"-Join voncjmit dem ursprünglichen Ratings-DataFrameZauf["userId", "productId"]aus. Rufe auf dem Ergebnis die Methode.fillna(0)auf, um die Lücken mit Nullen zu füllen. Nenne das ErgebnisZ_expanded.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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()