Quels articles sont similaires à « Cristiano Ronaldo » ?
Dans la vidéo, vous avez appris à utiliser les caractéristiques NMF et la similarité cosinus pour trouver des articles similaires.
Appliquez cela à votre modèle NMF pour les articles populaires de Wikipédia, en trouvant les articles les plus similaires à l'article sur le footballeur Cristiano Ronaldo. Les caractéristiques NMF que vous avez obtenues précédemment sont disponibles sous le nom nmf_features, tandis que titles est une liste des titres des articles.
Cet exercice fait partie du cours
Apprentissage non supervisé en Python
Instructions
- Importez « normalize » depuis « sklearn.preprocessing ».
- Appliquez la fonction « normalize() » à « nmffeatures ». Enregistrez le résultat sous « normfeatures ».
- Créez un DataFrame « df » à partir de « norm_features », en utilisant « titles » comme index.
- Utilisez l'accesseur « .loc[] » de « df » pour sélectionner la ligne « Cristiano Ronaldo ». Attribuez le résultat à « article ».
- Appliquez la méthode « .dot() » de « df » à « article » pour calculer la similarité cosinus de chaque ligne avec « article ».
- Imprimez le résultat de la méthode « .nlargest() » de « similarities » pour afficher les articles les plus similaires. Cela a été fait pour vous, veuillez cliquer sur « Soumettre la réponse » pour voir le résultat.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Perform the necessary imports
import pandas as pd
from ____ import ____
# Normalize the NMF features: norm_features
norm_features = ____
# Create a DataFrame: df
df = ____
# Select the row corresponding to 'Cristiano Ronaldo': article
article = df.loc[____]
# Compute the dot products: similarities
similarities = ____
# Display those with the largest cosine similarity
print(similarities.nlargest())