用python写一段电影推荐算法
时间: 2023-10-02 14:06:27 浏览: 63
使用图形算法根据用户指定的电影、流派和相关人员推荐电影。_Python_HTML_下载.zip
好的,没问题。以下是一段简单的电影推荐算法的 Python 代码,您可以根据需要进行自定义和更改:
```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')
# 建立电影标题和描述的 TF-IDF 矩阵
tfidf = TfidfVectorizer(stop_words='english')
tfidf_matrix = tfidf.fit_transform(movies['title'] + ' ' + movies['description'])
# 计算电影之间的余弦相似度
cosine_sim = cosine_similarity(tfidf_matrix, tfidf_matrix)
# 定义一个函数来推荐电影
def recommend_movies(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]
```
您可以将上述代码保存在名为 `recommend_movies.py` 的 Python 文件中,并使用以下代码从外部调用它:
```python
from recommend_movies import recommend_movies
# 假设您要推荐的电影是《The Godfather》
movie_title = 'The Godfather'
# 获取推荐的电影列表
recommended_movies = recommend_movies(movie_title)
# 打印推荐的电影列表
print(recommended_movies)
```
这段代码将返回与《The Godfather》相似的10部电影。 您也可以使用不同的数据集进行实验,并进行相应的更改和调整。
阅读全文