【发布时间】:2017-06-23 05:38:48
【问题描述】:
我正在开发一个推荐引擎来向本地零售连锁店推荐商品,我正在使用我在开发电影推荐系统时学到的代码,该系统使用电影镜头数据集和用于推荐电影的代码现在这里好像不行。
获取三级项目之间相关性的函数
def get_movie_similarity(level3Id):
index_three = list(index_three).index(level3Id)
return corr_matrixthree[index_three]
一种功能,通过根据用户的 pearson coreation 分数以升序排列与用户购买的商品相似的商品,获取与用户购买最多的商品相似的商品
def get_movie_recommendations(merged):
movie_similarities = np.zeros(corr_matrixthree.shape[0])
for level3Id in merged:
movie_similarities = movie_similarities + get_movie_similarity(level3Id)
similarities_df = pd.DataFrame({'level3Id': index_three,'sum_similarity': movie_similarities})
similarities_df = similarities_df[~(similarities_df.level3Id.isin(merged))]
similarities_df = similarities_df.sort_values(by=['sum_similarity'], ascending=False)
return similarities_df`
我生成的相似度矩阵是用户和他们购买的商品之间的相似度矩阵,其值是您在每件商品上花费的金额。
sample_user = 42140122376
merged[merged.cust_id==sample_user].sort_values(by=['amount_extended'], ascending=False)
sample_user_movies = merged[merged.cust_id==sample_user].level3Id.tolist()
recommendations = get_movie_recommendations(sample_user_movies)
#We get the top 20 recommended movies
recommendations.level3Id.head(20)
我得到的错误是:
local variable 'index_three' referenced before assignment
Index_three 是数据集中所有项目的索引 而 corr_matrix 3 是使用 pearson 分数生成的项目之间的相似性矩阵。 合并是我的数据集
你能帮帮我吗?
我可以分享我在 jupyter notebook 中的代码!
【问题讨论】:
-
index_three应该是什么?是清单吗??你能解释一下吗?
标签: python recommendation-engine