Adaugă zerouri
Multe motoare de recomandare folosesc evaluări implicite. În multe cazuri, aceste seturi de date nu includ contoare de comportament pentru produsele pe care un utilizator nu le-a cumpărat niciodată. În astfel de situații, va trebui să le adaugi și să incluzi zerouri. DataFrame-ul Z îți este pus la dispoziție. Acesta conține coloanele userId, productId și num_purchases, care reprezintă numărul de ori în care un utilizator a achiziționat un anumit produs.
Acest exercițiu face parte din cursul
Construiește motoare de recomandare cu PySpark
Instrucțiuni pentru exercițiu
- Aruncă o privire asupra DataFrame-ului
Zfolosind metoda.show(). - Extrage valorile distincte ale
userId-urilor șiproductId-urilor dinZfolosind metoda.distinct(). Numește rezultateleusers, respectivproducts. - Aplică
.crossJoin()pe DataFrame-urileusersșiproducts. Numește rezultatulcj. - Realizează un join de tip
"left"întrecjși DataFrame-ul original de evaluăriZ, pe coloanele["userId", "productId"]. Aplică metoda.fillna(0)pe rezultat pentru a completa valorile lipsă cu zerouri. Numește rezultatulZ_expanded.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()