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 des articles populaires de Wikipédia en trouvant les articles les plus similaires à celui sur le footballeur Cristiano Ronaldo. Les caractéristiques NMF obtenues précédemment sont disponibles sous nmf_features, et titles est une liste des titres d'articles.
Cette activité fait partie du cours
Unsupervised Learning in Python
Instructions de l’exercice
- Importez
normalizedepuissklearn.preprocessing. - Appliquez la fonction
normalize()ànmf_features. Stockez le résultat dansnorm_features. - Créez un DataFrame
dfà partir denorm_features, en utilisanttitlescomme index. - Utilisez l'accesseur
.loc[]dedfpour sélectionner la ligne de'Cristiano Ronaldo'. Assignez le résultat àarticle. - Appliquez la méthode
.dot()dedfàarticlepour calculer la similarité cosinus de chaque ligne avecarticle. - Affichez le résultat de la méthode
.nlargest()desimilaritiespour présenter les articles les plus similaires. Cela a été fait pour vous, alors cliquez sur « Soumettre la réponse » pour voir le résultat !
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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())