implicit
implicit copied to clipboard
Can't use 'explain' method in class 'AlternatingLeastSquares'
I found in implicit/cpu/als.py
the code :
def explain(self, userid, user_items, itemid, user_weights=None, N=10)
But when I tried to use it I got error below:
AttributeError: 'AlternatingLeastSquares' object has no attribute 'explain'
I have pip installed the latest version of implicit but still does not work out. Can you help me clarify if I'm missing something?
Are you using the GPU model (like does model.__class__
show implicit.gpu.als.AlternatingLeastSquares
? The GPU code doesn't have this method implemented - but you can convert to a CPU model with model.to_cpu()
- and then call explain on that.
Are you using the GPU model (like does
model.__class__
showimplicit.gpu.als.AlternatingLeastSquares
? The GPU code doesn't have this method implemented - but you can convert to a CPU model withmodel.to_cpu()
- and then call explain on that.
Dear benfred,
Thanks for the explanation, it works for me. Can I ask a further question: The top_contributions
is "a list of the top N (itemid, score) contributions for this user/item pair", but what score does it base on? Is it the initial event_strength
of the sparse matrix we passed in for training, or is it the matrix after we have filled in using co-similarity scores?
Can the explain
method be used to explain similar users, and why it recommended some users to a specific user?
I have another question @benfred @ita9naiwa :
when recommending items for this user id=1, I get a score of 1.35 for item 8708
when i want to explain why did i get item 8708 recommended for user 1, the first parameter of explain is supposed to be "The total predicted score for this user/item pair", I thought it needs to be equal to what I got from recommend which we found it equal to 1.35, but here it is equal to another score = 0.56
So my question what is the difference between the score given in recommend and the score in explain?