Python是一種通用的高級編程語言,已成為科學計算、Web開發、人工智能等領域的重要工具。在電影推薦領域,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['overview'].fillna('')) # 計算余弦相似度 cosine_sim = cosine_similarity(tfidf_matrix, tfidf_matrix) # 獲取電影相似度排名 indices = pd.Series(movies.index, index=movies['title']).drop_duplicates() def get_similarity_rank(title, cosine_sim=cosine_sim, indices=indices): idx = indices[title] sim_scores = list(enumerate(cosine_sim[idx])) sim_scores = sorted(sim_scores, key=lambda x: x[1], reverse=True) sim_scores = sim_scores[1:11] movie_indices = [i[0] for i in sim_scores] return movies['title'].iloc[movie_indices] # 示例:獲取電影“Avatar”相似度排名 get_similarity_rank('Avatar')
以上代碼實現了基于TF-IDF向量和余弦相似度的電影相似度計算。具體來說,首先讀取電影數據,然后使用TF-IDF向量化電影概述信息,計算余弦相似度矩陣。最后可以通過輸入電影名稱獲取相似度排名。
在實際應用中,可以將電影相似度作為電影推薦算法的依據,幫助用戶找到更多喜歡的電影。
下一篇c 構造json字符串