请帮我写一份基于混合推荐电影的python代码
以下是一个基于混合推荐的电影推荐系统的Python代码:
import pandas as pd
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.metrics.pairwise import cosine_similarity
# 读取电影数据集
movies = pd.read_csv('movies.csv')
# 对电影的描述信息进行特征提取
count = CountVectorizer(stop_words='english')
count_matrix = count.fit_transform(movies['description'])
# 计算电影之间的相似度
cosine_sim = cosine_similarity(count_matrix, count_matrix)
# 定义一个函数,给出与输入电影最相似的电影推荐
def get_recommendations(title, cosine_sim=cosine_sim):
# 获取输入电影的索引
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]
# 输入电影标题,获取相似的电影推荐
movie_title = input('请输入电影标题:')
recommendations = get_recommendations(movie_title)
print('与电影《{}》最相似的电影推荐为:'.format(movie_title))
print(recommendations)
要运行这个代码,你需要准备一个包含电影数据的CSV文件(例如movies.csv),其中包含电影的标题和描述信息。在代码中,我们使用CountVectorizer来提取电影描述信息的特征,并使用cosine_similarity计算电影之间的相似度。最后,我们定义了一个get_recommendations函数来获取与输入电影最相似的电影推荐,并打印出来。你可以根据你的数据集和需求进行相应的修改
原文地址: https://www.cveoy.top/t/topic/h1sB 著作权归作者所有。请勿转载和采集!