基于python的电影推荐系统代码
时间: 2023-12-29 09:02:47 浏览: 102
以下是一个基于Python的电影推荐系统的代码示例:
```python
import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import linear_kernel
# 读取电影数据集
movies_df = pd.read_csv('movies.csv', usecols=['movieId','title'], dtype={'movieId':'int32','title':'str'})
# 创建TF-IDF向量化器
tfidf = TfidfVectorizer(stop_words='english')
# 对电影标题进行向量化
tfidf_matrix =idf.fit_transform(movies_df['title'])
# 计算电影之间的余弦相似度
cosine_sim = linear_kernel(tfidf_matrix, tfidf_matrix)
# 定义一个函数,根据电影标题返回相似的电影推荐
def get_recommendations(title, cosine_sim=cosine_sim, movies_df=movies_df):
# 获取电影的索引
indices = pd.Series(movies_df.index, index=movies_df['title']).drop_duplicates()
# 获取电影的索引
idx = indices[title]
# 计算电影之间的相似度得分
sim_scores = list(enumerate(cosine_sim[idx]))
# 根据相似度得分进行排序
sim_scores = sorted(sim_scores, key=lambda x: x[1], reverse=True)
# 获取前10个相似的电影
sim_scores = sim_scores[1:11]
# 获取相似电影的索引
movie_indices = [i[0] for i in sim_scores]
# 返回相似的电影标题
return movies_df['title'].iloc[movie_indices]
# 示例:获取与电影《The Dark Knight Rises》相似的电影推荐
get_recommendations('The Dark Knight Rises')
```
阅读全文