#python #pandas #cosine-similarity
#python #pandas #косинусное подобие
Вопрос:
Я пытаюсь получить рекомендуемый news_id с его lead_paragraph и web_url с использованием косинусного подобия. Мой набор данных содержит 3 столбца news_id,lead_paragraph, web_url
Следующий код возвращает только рекомендуемый news_id
import pandas as pd
import numpy
ds = pd.read_csv("nytimes.csv")
from sklearn.feature_extraction.text import TfidfVectorizer
tfidf = TfidfVectorizer(stop_words='english')
ds['lead_paragraph'] = ds['lead_paragraph'].fillna('')
tfidf_matrix = tfidf.fit_transform(ds['lead_paragraph'])
from sklearn.metrics.pairwise import linear_kernel
cosine_sim = linear_kernel(tfidf_matrix, tfidf_matrix)
indices = pd.Series(ds.index, index=ds['_id']).drop_duplicates()
def get_recommendations(id, cosine_sim=cosine_sim):
idx = indices[id]
sim_scores = list(enumerate(cosine_sim[idx]))
sim_scores = sorted(sim_scores, key=lambda x: x[1], reverse=True)
sim_scores = sim_scores[1:11]
movie_indices = [i[0] for i in sim_scores]
return ds['_id'].iloc[movie_indices]
get_recommendations('4fd2b43e8eb7c8105d8a67e8')
Как получить рекомендуемые идентификаторы news_id с их lead_paragraph и web_url в списке?