Le raccomandazioni hanno senso
Ora che abbiamo capito quanto bene ha performato il nostro modello e abbiamo una certa fiducia che fornirà raccomandazioni rilevanti per gli utenti, diamo un’occhiata concreta alle raccomandazioni fatte a un utente e vediamo se hanno senso.
I dati originali delle valutazioni sono forniti qui come original_ratings. Osserva le valutazioni originali dell’utente 60 e dell’utente 63 e confrontale con ciò che ALS ha raccomandato per loro. Secondo te, le raccomandazioni sono coerenti con le preferenze originali?
Questo esercizio fa parte del corso
Costruire motori di raccomandazione con PySpark
Istruzioni dell'esercizio
- Usa
.filter()sul dataframeoriginal_ratingsper assicurarti checol("userId")sia uguale a60per vedere le valutazioni originali dell’utente 60. Chiama il metodo.sort()per ordinare l’output perratinge imposta l’argomentoascendingsuFalseper vedere prima le valutazioni più alte. - Usa i metodi
.filter()e.show()sul datasetrecommendationsper vedere le valutazioni dell’utente 60. Nota che quando ALS genera raccomandazioni, queste sono fornite in ordine decrescente per userId, quindi non è necessario ordinare il dataframe. - Fai la stessa cosa per l’utente 63.
- I generi raccomandati sono in qualche modo coerenti con le valutazioni originali di ciascun utente?
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# Look at user 60's ratings
print("User 60's Ratings:")
original_ratings.filter(col("____") == 60).____("rating", ____ = False).show()
# Look at the movies recommended to user 60
print("User 60s Recommendations:")
____.____(col("userId") == ____).show()
# Look at user 63's ratings
print("User 63's Ratings:")
original_ratings.filter(col("____") == ____).____("rating", ____ = False).show()
# Look at the movies recommended to user 63
print("User 63's Recommendations:")
____.____(col("userId") == ____).show()