我有以下LightFM推荐模块的基本代码:
# Interactions
A=[0,1,2,3,4,4] # users
B=[0,0,1,2,2,3] # items
C=[1,1,1,1,1,1] # weights
matrix = sparse.coo_matrix((C,(A,B)),shape=(max(A)+1,max(B)+1))
# Create model
model = LightFM(loss='warp')
# Train model
model.fit(matrix, epochs=30)
# Predict
scores = model.predict(1, np.array([0,1,2,3]))
print(scores)这将返回以下错误:
> C:\Program
> Files\Python\Python36\lib\site-packages\numpy\core\_methods.py:32:
> RuntimeWarning: invalid value encountered in reduce return
> umr_sum(a, axis, dtype, out, keepdims) Traceback (most recent call
> last): File "run.py", line 15, in <module>
> model.fit(matrix, epochs=100) File "C:\Program Files\Python\Python36\lib\site-packages\lightfm\lightfm.py", line 476,
> in fit
> verbose=verbose) File "C:\Program Files\Python\Python36\lib\site-packages\lightfm\lightfm.py", line 580,
> in fit_partial
> self._check_finite() File "C:\Program Files\Python\Python36\lib\site-packages\lightfm\lightfm.py", line 410,
> in _check_finite
> raise ValueError("Not all estimated parameters are finite," ValueError: Not all estimated parameters are finite, your model may
> have diverged. Try decreasing the learning rate or normalising feature
> values and sample weights奇怪的是,在交互数据中进行一些更改会使其正常工作,例如:
# Interactions
A=[0,1,2,3,4,4]
B=[0,0,1,2,2,10] # notice the 10 here
C=[1,1,1,1,1,1]有没有人能帮我一下?
发布于 2018-08-23 23:57:44
#Predict
scores = model.predict(1, np.array([0,1,2,3]))
print(scores)
[-0.17697991 -0.55117112 -0.37800685 -0.57664376]它对我来说很好,更新lightFM版本?
https://stackoverflow.com/questions/50307866
复制相似问题