我正在嘗試創建協作過濾算法,以向某些用戶推薦產品。帶TensorFlow的推薦系統(SVD)
我很快就開始工作,並開始使用TensorFlow(我認爲它足夠有效和靈活)。 我發現這個代碼,做我感興趣的,創建模型和訓練用戶ID,產品和評分:https://github.com/songgc/TF-recomm
我啓動了代碼並訓練了模型。
訓練完模型之後,我需要做出預測,即爲每個用戶獲取建議,以便將它們保存在可從中用NODE.js應用程序訪問的數據庫中。
如何在培訓完成後檢索每個用戶的建議列表?
if __name__ == '__main__':
df_train, df_test=get_data()
svd(df_train, df_test)
print("Done!")
好的完美。當我使用具有字母數字ID而不是int32的DB數據時,我在embedding_lookup上出現錯誤,錯誤爲:「TypeError:傳遞給參數'indices'的值的DataType字符串不在允許值列表中:int32,int64」。我該如何解決它? –
你能告訴我哪一行是錯誤嗎?什麼是'數據庫數據'?在embedding_lookup中,您輸入的內容是什麼,導致了這個錯誤? –
導致錯誤的行之一:「embd_user = tf.nn.embedding_lookup(w_user,user_batch,name =」embedding_user「)」。 這是因爲從我的數據庫加載的ID是字母數字而不是int32:https://www.dropbox.com/s/9s4vxsciue3mu38/Schermata%202017-07-08%20alle%2010.32.48.png?dl=0 。 然後用戶批處理的類型爲tf.string:「user_batch = tf.placeholder(tf.string,shape = [None],name =」id_user「)」 –