Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Code refactoring for ranking objective & Faster ndcg_xendcg #2801

Merged
merged 7 commits into from
Feb 26, 2020

Conversation

guolinke
Copy link
Collaborator

@guolinke guolinke commented Feb 23, 2020

  1. optimize the O(n^2) loop in ndcg_xendcg to O(n).
  2. Fix non-thread-safe random generator in ndcg_xendcg, which should not share a Random object in multi-threading. Furthermore, the random results should be identical now regards to different num_threads.

Also some code refactorings.

Benchmark:

Boosting cost:

Data Master This PR
Yahoo LTR 9.36 s 1.45 s
MS LTR 72.02 s 2.72 s

@guolinke
Copy link
Collaborator Author

ping @sbruch for the changes in ndcg_xendcg part

@guolinke
Copy link
Collaborator Author

@sbruch I will merge this first. If there are any problems, feel free to open the issue/PR.

@StrikerRUS
Copy link
Collaborator

@guolinke This PR removes old params related to ranking objective. Do you think it is not "breaking"?

@guolinke
Copy link
Collaborator Author

@StrikerRUS oh, I forget that change.

@lock lock bot locked as resolved and limited conversation to collaborators May 20, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants