Open
Conversation
maciejkula
requested changes
Nov 13, 2017
Owner
maciejkula
left a comment
There was a problem hiding this comment.
Thanks a lot!
In addition to my inline comments, would you mind adding a test for the functionality as well?
|
|
||
| prec = [] | ||
| ranking = np.sort(st.rankdata(predictions)[row.indices]) | ||
| for index, value in enumerate(ranking): |
Owner
There was a problem hiding this comment.
Could probably do prec = np.arange(1, len(ranking) + 1) / ranking or something similar to make use of vectorized numpy operations?
| prec.append((index + 1) / value) | ||
| ap.append(sum(prec) / len(ranking)) | ||
|
|
||
| return np.mean(ap) |
Owner
There was a problem hiding this comment.
The other metrics return raw arrays, leaving the averaging (or getting other descriptive statistics) down to the user. Could we do it this way here as well?
Author
|
I'll try to create a small test for the metric. I have a controlled test with a set scoring instead of model.predict for the metric so I'll devise something. As for the inline comments, sure, no problem. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
From #58
Wanted to add the MAP metric to the evaluation.py script.
Same interface as mrr_score. If the training dataset is provided, scores of known interactions are set to very low values to discard them.
Next step: Tweak it to calculate MAP@K