Какие статьи похожи на статью о Криштиану Роналду?
В видео вы узнали, как использовать признаки NMF и косинусное сходство для поиска похожих статей.
Применим этот подход к вашей модели NMF для популярных статей Википедии: найдём статьи, наиболее похожие на статью о футболисте Криштиану Роналду. Признаки NMF, полученные ранее, доступны в переменной nmf_features, а titles — это список заголовков статей.
Это упражнение является частью курса
Обучение без учителя на Python
Инструкции к упражнению
- Импортируйте
normalizeизsklearn.preprocessing. - Примените функцию
normalize()кnmf_features. Сохраните результат в переменнуюnorm_features. - Создайте DataFrame
dfна основеnorm_features, используяtitlesв качестве индекса. - С помощью метода
.loc[]объектаdfвыберите строку'Cristiano Ronaldo'. Присвойте результат переменнойarticle. - Примените метод
.dot()объектаdfкarticle, чтобы вычислить косинусное сходство каждой строки сarticle. - Выведите результат метода
.nlargest()объектаsimilarities, чтобы отобразить наиболее похожие статьи. Этот шаг уже выполнен за вас — нажмите Отправить ответ, чтобы увидеть результат!
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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())