This PR extracts all of the normalization and serialization logic that goes into working with predictions into a standalone class for clarity
Closes #169
Predictions are still accepted in a very generous variety of formats and there no breaking changes introduced here, but the structure of provided predictions is now validated and standardizes, with helpful error messages for common error cases.
Closes #178
Evaluation logic now works with the canonical representation of predictions, for both regular and competition benchmarks.
Competition documentation is removed from the docs while the feature is gated.
Checklist:
[x] Was this PR discussed in an issue? It is recommended to first discuss a new feature into a GitHub issue before opening a PR.
[x] Add tests to cover the fixed bug(s) or the newly introduced feature(s) (if appropriate).
[x] Update the API documentation if a new function is added, or an existing one is deleted.
[x] Write concise and explanatory changelogs above.
[x] If possible, assign one of the following labels to the PR: feature, fix, chore, documentation or test (or ask a maintainer to do it for you).
Changelogs
Checklist:
feature
,fix
,chore
,documentation
ortest
(or ask a maintainer to do it for you).