Doplnění nul
Mnoho doporučovacích systémů pracuje s implicitními hodnoceními. V takových datasetech často chybí záznamy o chování uživatelů u produktů, které nikdy nezakoupili. V těchto případech je potřeba chybějící záznamy doplnit a nahradit nulami. K dispozici máš dataframe Z, který obsahuje sloupce userId, productId a num_purchases – tedy počet nákupů daného produktu konkrétním uživatelem.
Toto cvičení je součástí kurzu
Tvorba doporučovacích systémů s PySparkem
Pokyny k cvičení
- Prohlédni si dataframe
Zpomocí metody.show(). - Z dataframu
Zvyextrahuj unikátní hodnotyuserIdaproductIdpomocí metody.distinct(). Výsledky pojmenujusersaproducts. - Proveď
.crossJoin()nad dataframyusersaproducts. Výsledek pojmenujcj. - Připoj
cjk původnímu dataframu s hodnocenímiZpomocí"left"joinu na sloupcích["userId", "productId"]. Na výsledek zavolej metodu.fillna(0), aby se prázdná místa doplnila nulami. Výsledek pojmenujZ_expanded.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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()