协同过滤推荐算法案例代码
时间: 2023-11-12 12:13:07 浏览: 95
协同过滤推荐算法是一种基于用户兴趣和行为相似性的推荐算法,下面是一个使用Python和pandas库实现的基本协同过滤推荐算法案例代码。
```python
import pandas as pd
import numpy as np
# 读取数据
ratings_data = pd.read_csv('ratings.csv')
movies_data = pd.read_csv('movies.csv')
# 合并数据
movie_ratings_data = pd.merge(ratings_data, movies_data, on='movieId')
# 计算每个电影的平均评分
movie_ratings_mean = movie_ratings_data.groupby(['title'])['rating'].mean().sort_values(ascending=False)
# 构建用户电影评分矩阵
user_movie_ratings = movie_ratings_data.pivot_table(index='userId', columns='title', values='rating')
# 选择需要推荐的电影
movie_to_recommend = 'Toy Story (1995)'
movie_ratings = user_movie_ratings[movie_to_recommend]
# 计算与该电影评分相似的电影
similar_movies = user_movie_ratings.corrwith(movie_ratings)
# 去除NaN值
similar_movies.dropna(inplace=True)
# 排序
similar_movies.sort_values(ascending=False, inplace=True)
# 推荐前10部电影
recommendations = similar_movies.head(10)
print(recommendations)
```
上述代码实现的是基于电影评分的协同过滤推荐算法,通过计算用户对某个电影的评分与其他电影评分的相似性,从而推荐相似度较高的电影给用户。其中,`ratings.csv`和`movies.csv`分别是包含用户电影评分和电影信息的数据集。
阅读全文