Porównywanie wszystkich filmów za pomocą TF-IDF
Ciężka praca włożona w przygotowanie danych TF-IDF w użytecznym formacie zaczyna procentować – czas wykorzystać je do znajdowania podobieństw i generowania rekomendacji.
Ponieważ tym razem korzystasz z wyników TF-IDF (które są liczbami zmiennoprzecinkowymi, a nie wartościami logicznymi), do mierzenia podobieństw między elementami użyjesz metryki podobieństwa kosinusowego. W tym ćwiczeniu wygenerujesz macierz podobieństw kosinusowych dla wszystkich filmów i zapiszesz ją w ramce danych, co ułatwi późniejsze wyszukiwanie. Dzięki temu będziesz mógł szybko i wygodnie porównywać filmy i znajdować rekomendacje.
Ramka danych tfidf_df utworzona w poprzednim ćwiczeniu, zawierająca wiersz dla każdego filmu, została już wczytana.
To ćwiczenie jest częścią kursu
Budowanie systemów rekomendacji w Pythonie
Instrukcje do ćwiczenia
- Oblicz miary podobieństwa kosinusowego między wszystkimi filmami i przypisz wyniki do zmiennej
cosine_similarity_array. - Utwórz ramkę danych z
cosine_similarity_array, używająctfidf_summary_df.indexjako wierszy i kolumn. - Wyświetl pięć pierwszych wierszy ramki danych i przeanalizuj wyniki podobieństwa.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Import cosine_similarity measure
from sklearn.metrics.pairwise import ____
# Create the array of cosine similarity values
cosine_similarity_array = ____(tfidf_summary_df)
# Wrap the array in a pandas DataFrame
cosine_similarity_df = pd.____(cosine_similarity_array, ____=____.____, ____=____.____)
# Print the top 5 rows of the DataFrame
print(cosine_similarity_df.head())