麻烦用python写一个电影推荐系统的代码
时间: 2023-04-05 18:00:53 浏览: 110
很高兴回答您的问题。以下是一个简单的电影推荐系统的 Python 代码示例:
```
import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity
# 读取电影数据
movies = pd.read_csv('movies.csv')
# 创建 TfidfVectorizer 对象
tfidf = TfidfVectorizer(stop_words='english')
# 对电影描述进行向量化
tfidf_matrix = tfidf.fit_transform(movies['description'])
# 计算电影之间的余弦相似度
cosine_sim = cosine_similarity(tfidf_matrix, tfidf_matrix)
# 定义一个函数,根据电影标题返回相似的电影
def get_recommendations(title, cosine_sim=cosine_sim, movies=movies):
# 获取电影的索引
idx = movies[movies['title'] == title].index[0]
# 获取电影的相似度分数
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['title'].iloc[movie_indices]
# 测试推荐系统
get_recommendations('The Dark Knight')
```
这个代码使用了 TF-IDF 向量化和余弦相似度计算来推荐相似的电影。您可以根据自己的需求进行修改和优化。希望对您有帮助!
阅读全文