現在、LightFMというPythonライブラリを使って作業しています。しかし、私は、相互作用をfit()メソッドに渡すことにいくつか問題があります。LightFMで疎行列を作成して予測を印刷する
Pythonバージョン:3 ライブラリ:私は、次のタイプのスパース行列を作成する必要がありhttp://lyst.github.io/lightfm/docs/lightfm.html
ドキュメントの状態:相互作用(形状のnp.float32 coo_matrix [n_users、n_items]) - マトリックス
しかし、私は、それはそれはいつも同じことをお勧めします動作させるように見えることはできません...
更新:それを実行するとtop_items変数は、以下の何マット言わないがそれは他のアイテム(牛肉やサラダ)の繰り返しではありませんので、私は何か間違っているようです。これは、出力:[ 'ケーキ' 'チーズ']ここで毎回
が私のコードです:
import numpy as np
from lightfm.datasets import fetch_movielens
from lightfm import LightFM
from scipy.sparse import coo_matrix
import scipy.sparse as sparse
import scipy
// Users, items
data = [
[1, 0],
[2, 1],
[3, 2],
[4, 3]
]
items = np.array(["Cake", "Cheese", "Beef", "Salad"])
data = coo_matrix(data)
#create model
model = LightFM(loss='warp')
#train model
model.fit(data, epochs=30, num_threads=2)
// Print training data
print(data)
def sample_recommendation(model, data, user_ids):
#number of users and movies in training data
n_users, n_items = data.shape
#generate recommendations for each user we input
for user_id in user_ids:
#movies our model predicts they will like
scores = model.predict(user_id, np.arange(n_items))
#rank them in order of most liked to least
top_items = items[np.argsort(-scores)]
print(top_items)
sample_recommendation(model, data, [1,2])
「できない」は禁じられたフレーズです!何が間違っているか教えてください。エラー、間違った結果など。問題の発生場所を特定してください。 – hpaulj
ちょっと@hpaulj私は私の答えを更新し、私はここで間違っていると答えた。ありがとうございました:) – aat2703