我正在開發一個推薦引擎,以將商品推薦給本地零售商店連鎖店,並使用我在開發電影時學到的代碼使用電影鏡頭數據集的推薦系統和用於推薦電影的代碼在這裏似乎不起作用。本地變量'index_three'在使用Python開發推薦引擎時出現賦值錯誤之前引用了
一個函數來獲取項目之間的相關性在三級
def get_movie_similarity(level3Id):
index_three = list(index_three).index(level3Id)
return corr_matrixthree[index_three]
功能通過安排類似的人的itmes得到類似由用戶最爲購買的itmes項目用戶按升序購買基於它們的皮爾森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`
相似度矩陣I GE用戶和他們購買的物品之間是無差別的,價值就是你在每件物品上花費的金額。
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三是相似的itmes之間的矩陣使用皮爾森的分數生成。 合併是我的數據集
你能幫我嗎?
我可以分享我在jupyter筆記本上的代碼!
什麼'index_three'應該是??這是一個清單嗎?你能解釋一下嗎? – zaidfazil