Vilka artiklar liknar 'Cristiano Ronaldo'?
I videon lärde du dig hur man använder NMF-särdrag och cosinus-likhet för att hitta liknande artiklar.
Tillämpа detta på din NMF-modell för populära Wikipedia-artiklar genom att hitta de artiklar som liknar mest på artikeln om fotbollsspelaren Cristiano Ronaldo. NMF-särdragen som du hämtade tidigare finns tillgängliga som nmf_features, och titles är en lista med artikelrubriker.
Den här övningen är en del av kursen
Oövervakad inlärning i Python
Övningsinstruktioner
- Importera
normalizefrånsklearn.preprocessing. - Tillämpa funktionen
normalize()pånmf_features. Spara resultatet somnorm_features. - Skapa en DataFrame
dffrånnorm_featuresoch användtitlessom index. - Använd
.loc[]-accessorn pådfför att välja raden för'Cristiano Ronaldo'. Tilldela resultatet tillarticle. - Tillämpa metoden
.dot()pådfmedarticlesom argument för att beräkna cosinus-likheten mellan varje rad ocharticle. - Skriv ut resultatet av metoden
.nlargest()påsimilaritiesför att visa de mest liknande artiklarna. Det har redan gjorts åt dig, så klicka på Skicka in svar för att se resultatet!
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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())