scikit-learn 1.5.0 is released!
🟢 1 major feature & 12 features
🔵 8 efficiency improvements & 17 enhancements
🟡 15 API changes (with deprecation)
🔴 24 fixes including one security fix!
You can upgrade through the usual channels:
pip install -U scikit-learn
conda update -c conda-forge scikit-learn
Among the new features, this new release introduces the TunedThresholdClassifierCV class that can adjust the decision threshold of any binary classifier to assign custom costs or gains to true/false positives/negatives. This is especially powerful to implement cost-sensitive learning, in particular when used in conjunction of per-individual side-metadata used in the cost function, thanks to our meta-data routing infrastructure.
You can quickly walk through this new feature and other release highlights here:
https://lnkd.in/eadqcRDh
and the full changelog:
https://lnkd.in/eHttjknr
Along with the new release, we updated the website look and feel to improve navigation in the doc based on the pydata sphinx theme! It's now near-instant to filter out public API symbols by keyword on this page:
https://lnkd.in/eK-xfxed
scikit-learn contributors should be aware that we switched the default build tool from setuptools to meson: it's no longer needed to manually rebuild when changing Cython/C/C++ source files: the editable mode of meson-python detects changes automatically and rebuilds what's necessary when importing sklearn. See our updated doc on how to build scikit-learn from source if interested:
https://lnkd.in/etW-8ubE
Thank you very much to the 136 people who contributed to this release!