Normalizace dat
Než budeš moct rozložit matici hodnocení pomocí singulárního rozkladu (SVD), je potřeba ji „de-meanovat", tedy centrovat – od každé hodnoty v řádku odečteš průměr daného řádku.
V tomto cvičení začneš připravovat DataFrame s hodnoceními filmů, se kterým jsi pracoval/a v předchozích úlohách, aby byl připravený pro singulární rozklad.
user_ratings_df obsahuje jeden řádek na uživatele a jeden sloupec pro každý film a je už načtený.
Toto cvičení je součástí kurzu
Tvorba doporučovacích systémů v Pythonu
Pokyny k cvičení
- Zjisti průměrné hodnocení, které každý uživatel udělil napříč všemi filmy, které viděl, a ulož tyto hodnoty jako
avg_ratings. - Od příslušných řádků odečti jejich průměry a výsledek ulož jako
user_ratings_centered. - Nakonec doplň všechny chybějící hodnoty v
user_ratings_centerednulami. - Vypiš průměr každého sloupce v
user_ratings_centered, aby bylo vidět, že data byla de-meanována.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Get the average rating for each user
avg_ratings = user_ratings_df.____(axis=1)
# Center each user's ratings around 0
user_ratings_centered = user_ratings_df.____(____, axis=1)
# Fill in all missing values with 0s
user_ratings_centered.____(0, inplace=True)
# Print the mean of each column
print(user_ratings_centered.____(axis=1))