Dodawanie zer
Wiele silników rekomendacji korzysta z ocen niejawnych. W takich zbiorach danych często brakuje liczby interakcji dla produktów, których użytkownik nigdy nie kupił. W takich przypadkach trzeba je dodać i uzupełnić zerami. Do dyspozycji masz ramkę danych Z, która zawiera kolumny userId, productId oraz num_purchases – czyli liczbę zakupów danego produktu przez użytkownika.
To ćwiczenie jest częścią kursu
Budowanie silników rekomendacji w PySpark
Instrukcje do ćwiczenia
- Wyświetl ramkę danych
Zza pomocą metody.show(). - Wyodrębnij unikalne wartości
userIdiproductIdzZza pomocą metody.distinct(). Wyniki zapisz odpowiednio jakousersiproducts. - Wykonaj
.crossJoin()na ramkach danychusersiproducts. Wynik zapisz jakocj. - Złącz
cjz oryginalną ramką danych z ocenamiZza pomocą złączenia"left"po kolumnach["userId", "productId"]. Na wyniku wywołaj metodę.fillna(0), aby uzupełnić brakujące wartości zerami. Wynik zapisz jakoZ_expanded.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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()