defget_recommendations(user_id, algo, articles_df, top_n=10): # 获取用户未浏览过的文章 user_articles = history_df[history_df['用户ID'] == user_id]['文章标题'].tolist() all_articles = articles_df['文章标题'].tolist() recommendations = [article for article in all_articles if article notin user_articles]
# 预测每篇文章的评分 predictions = [algo.predict(user_id, article) for article in recommendations] predictions.sort(key=lambda x: x.est, reverse=True) # 返回前N个推荐文章 top_recommendations = predictions[:top_n] return [pred.iid for pred in top_recommendations]
# 生成推荐列表函数 defget_recommendations(user_id, algo, articles_df, top_n=10): user_articles = history_df[history_df['用户ID'] == user_id]['文章标题'].tolist() all_articles = articles_df['文章标题'].tolist() recommendations = [article for article in all_articles if article notin user_articles]
predictions = [algo.predict(user_id, article) for article in recommendations] predictions.sort(key=lambda x: x.est, reverse=True) top_recommendations = predictions[:top_n] return [pred.iid for pred in top_recommendations]