私は、特定のユーザーに製品を提案する協調フィルタリングアルゴリズムを作成しようとしています。TensorFlowの推奨システム(SVD)
私はまもなく開始し、TensorFlowで作業を開始しました(これは十分効果的で柔軟性があると思いました)。 私は、私が興味を持ってる何がこのコードを発見したモデルを作成し、ユーザID、製品、および評価を訓練:https://github.com/songgc/TF-recomm
私はコードを開始し、モデルを訓練しました。
モデルをトレーニングした後、予測を行う必要があります。つまり、NODE.jsアプリケーションでアクセスするDBに保存できるように、各ユーザーの提案を取得する必要があります。
トレーニング終了時に、このユーザーのリストを取得するにはどうすればよいですか?
if __name__ == '__main__':
df_train, df_test=get_data()
svd(df_train, df_test)
print("Done!")
おいしいです。 int32の代わりに英数字のidを持つDBデータを使用すると、embedding_lookupでエラーが発生します。エラーは次のようになります。 "TypeError:パラメータ 'index'に渡された値に許容値のリストでないDataType文字列があります。どうすれば修正できますか? –
エラーがどの行に表示されますか? 「DBデータ」とは何ですか? embedding_lookupでは、このエラーの原因となっている入力は何ですか? –
エラーを引き起こす行の1つ: "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 ")" –