Quais artigos são semelhantes a "Cristiano Ronaldo"?
No vídeo, você aprendeu a usar os recursos do NMF e a similaridade de cosseno para encontrar artigos semelhantes.
Aplique isso ao seu modelo NMF para artigos populares da Wikipédia, encontrando os artigos mais semelhantes ao artigo sobre o jogador de futebol Cristiano Ronaldo. Os recursos de NMF que você obteve anteriormente estão disponíveis como nmf_features, enquanto titles é uma lista dos títulos dos artigos.
Este exercício faz parte do curso
Aprendizado não supervisionado em Python
Instruções do exercício
- Importe
normalizedesklearn.preprocessing. - Aplique a função
normalize()anmf_features. Armazene o resultado comonorm_features. - Crie um DataFrame
dfa partir denorm_features, usandotitlescomo um índice. - Use o acessor
.loc[]dedfpara selecionar a linha de'Cristiano Ronaldo'. Atribua o resultado aarticle. - Aplique o método
.dot()dedfaarticlepara calcular a similaridade de cosseno de cada linha comarticle. - Imprima o resultado do método
.nlargest()desimilaritiespara exibir os artigos mais semelhantes. Isso foi feito para você, então clique em "Enviar resposta" para ver o resultado!
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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())