Vyhodnocení modelu pomocí MSE
Po vygenerování předpovězených hodnocení z testovacích dat pomocí modelu ALS teď v závěrečné části cvičení připravíš data pro výpočet střední kvadratické chyby (MSE) modelu. MSE je průměrná hodnota výrazu (original rating – predicted rating)**2 přes všechny uživatele a vyjadřuje, jak dobře model odpovídá datům.
Nejprve uspořádáš RDD ratings_final i predictions tak, aby každý prvek tvořil dvojici ((user, product), rating)). V obou RDD platí toto mapování:
0: user
1: product
2: rating
Pak transformovaná RDD spojíš a nakonec aplikuješ funkci kvadratického rozdílu spolu s mean(), čímž získáš MSE.
Máš k dispozici SparkContext sc. RDD ratings_final i predictions jsou již připraveny v pracovním prostředí.
Toto cvičení je součástí kurzu
Big Data Fundamentals with PySpark
Pokyny k cvičení
- Uspořádej RDD
ratingsdo formátu((user, product), rating). - Uspořádej RDD
predictionsdo formátu((user, product), rating). - Spoj RDD s předpověďmi s RDD hodnocení.
- Vyhodnoť model pomocí MSE mezi původním a předpovězeným hodnocením a výsledek vypiš.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Prepare ratings data
rates = ratings_final.____(lambda r: ((r[0], r[1]), ____))
# Prepare predictions data
preds = predictions.____(lambda r: ((____, ____), ____))
# Join the ratings data with predictions data
rates_and_preds = rates.____(preds)
# Calculate and print MSE
MSE = rates_and_preds.____(lambda r: (r[1][0] - r[1]____)**2).mean()
print("Mean Squared Error of the model for the test data = {:.2f}".format(____))