Hledání podobně hodnocených filmů
Stejně jako jsi vypočítal/a podobnost mezi dvěma filmy, můžeš ji vypočítat napříč všemi uživateli a najít film, který je danému filmu nejpodobnější podle toho, jak ho uživatelé hodnotili.
Postup je podobný jako při práci s content-based filteringem.
Najdeš skóre podobnosti mezi všemi filmy a pak se zaměříš na konkrétní film – vyizoluješ a seřadíš sloupec obsahující jeho skóre podobnosti.
movie_ratings_centered je opět načtený – každý film je reprezentován jako řádek a jako hodnoty jsou uložena jeho centrovaná hodnocení.
Toto cvičení je součástí kurzu
Tvorba doporučovacích systémů v Pythonu
Pokyny k cvičení
- Vypočítej matici podobnosti mezi všemi filmy v
movie_ratings_centereda ulož ji jakosimilarities. - Zabal matici
similaritiesdo DataFrame, přičemž jako sloupce i řádky použij indexy zmovie_ratings_centered.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
from sklearn.metrics.pairwise import cosine_similarity
# Generate the similarity matrix
similarities = ____(____)
# Wrap the similarities in a DataFrame
cosine_similarity_df = ____.____(____, index=____.____, columns=____.____)
# Find the similarity values for a specific movie
cosine_similarity_series = cosine_similarity_df.loc['Star Wars: Episode IV - A New Hope (1977)']
# Sort these values highest to lowest
ordered_similarities = cosine_similarity_series.sort_values(ascending=False)
print(ordered_similarities)