1、什么是协同过滤?
举个例子,有一天,你想去看电影了,但你不知道有什么电影好看,然后你可能就会问问你的朋友们,看看有什么好看的电影推荐,这时候大部分人都会倾向于问跟你有品味差不多的人。而这也就是协同过滤的核心思想。
协同过滤推荐分为三种类型。第一种是基于用户(user-based)的协同过滤,第二种是基于项目(item-based)的协同过滤,第三种是基于模型(model based)的协同过滤。
2、基于用户的协同过滤(user-based)
3、python实现基于用户的协同过滤算法
import pandas as pd
from math import sqrt
movies = pd.read_csv('mystudy/movies.csv')
movies.head()
ratings = pd.read_csv('mystudy/ratings.csv')
ratings.head()
data = ratings.merge(movies, on = 'movieId', how = 'left') #两表进行匹配
data = data[['userId','rating','movieId','title']].sort_values('userId')
data.head()
data.to_csv('mystudy/movie_ratings.csv', index = False