Release Notes (What's New)
Version 2.0.0 (December 7, 2024)
For a list of all changes in this release, see the full changelog. Below are the changes we think users may wish to be aware of.
Breaking Changes
- The function
scores.probability.tw_crps_for_ensemble
previously took an optional (mis-spelled) argumentchainging_func_kwargs
. The spelling has been corrected and the argument is nowchaining_func_kwargs
. See PR #780 and PR #772. - For those who develop on
scores
, you will need to update your installation of thescores
package withpip install -e .[all]
, to get updated versions ofblack
,pylint
andmypy
. See PR #768, PR #769 and PR #771.
Features
- Added three new metrics:
- Brier score for ensembles:
scores.probability.brier_score_for_ensemble
. See PR #735. - Negative predictive value:
scores.categorical.BasicContingencyManager.negative_predictive_value
. See PR #759. - Positive predictive value:
scores.categorical.BasicContingencyManager.positive_predictive_value
. See PR #761 and PR #756.
- Brier score for ensembles:
- Also added one new emerging metric and two supporting functions:
- A new method called
format_table
was added to the classBasicContingencyManager
to improve visualisation of 2x2 contingency tables. The tutorialBinary_Contingency_Scores
was updated to demonstrate the use of this function. See PR #775. - The functions
scores.processing.comparative_discretise
,scores.processing.binary_discretise
andscores.processing.binary_discretise_proportion
now accept either a string indicating the choice of operator to be used, or an operator from the Python core libraryoperator
module. Using one of the operators from the Python core module is recommended, as doing so is more reliable for a variety of reasons. Support for the use of a string may be removed in future. See PR #740 and PR #758.
Documentation
- Added "The Risk Matrix Score" tutorial. See PR #724 and PR #794.
- Updated the "Brier Score" tutorial to include a new section about the Brier score for ensembles. See PR #735.
- Updated the "Binary Categorical Scores and Binary Contingency Tables (Confusion Matrices)"
tutorial: - Updated the “Contributing Guide”:
- Added a new section: "Creating Your Own Fork of
scores
for the First Time". - Updated the section: "Workflow for Submitting Pull Requests".
- Added a new section: "Pull Request Etiquette".
See PR #787.
- Added a new section: "Creating Your Own Fork of
- Updated the README:
- Added
Scoringrules
to "Related Works". See PR #746, PR #766 and PR #789.
Internal Changes
- Removed scikit-learn as a dependency.
scores
has replaced the use of scikit-learn with a similar function from SciPy (which was an existingscores
dependency). This change was manually tested and found to be faster. See PR #774. - Version pinning of dependencies in release files (the wheel and sdist files used by PyPI and conda-forge) is now managed and set by the
hatch_build
script. This allows development versions to be free-floating, while being more specific about dependencies in releases. The previous process also aimed to do this, but was error-prone. A new entry calledpinned_dependencies
was added to pyproject.toml to specify the release dependencies. See PR #760.
Contributors to this Release
Arshia Sharma* (@arshiaar), A.J. Fisher* (@AJTheDataGuy), Liam Bluett* (@lbluett), Jinghan Fu* (@JinghanFu), Sam Bishop* (@techdragon), Robert J. Taggart (@rob-taggart), Tennessee Leeuwenburg (@tennlee), Stephanie Chong (@Steph-Chong) and Nicholas Loveday (@nicholasloveday).
* indicates that this release contains their first contribution to scores
.