| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| ngboost-0.6.0.dev0-py3-none-any.whl | 2026-11-07 | 55.4 kB | |
| ngboost-0.6.0.dev0.tar.gz | 2026-11-07 | 44.5 kB | |
| ngboost-0.6.0-py3-none-any.whl | 2026-11-07 | 55.3 kB | |
| ngboost-0.6.0.tar.gz | 2026-11-07 | 44.5 kB | |
| README.md | 2026-11-07 | 3.3 kB | |
| v0.6.0 drop Python 3.9, breaking API changes and enhancements source code.tar.gz | 2026-11-07 | 9.3 MB | |
| v0.6.0 drop Python 3.9, breaking API changes and enhancements source code.zip | 2026-11-07 | 9.3 MB | |
| Totals: 7 Items | 18.8 MB | 0 | |
RELEASE NOTES
Version 0.6.0
Breaking changes
- Drop support for Python 3.9, which reached end-of-life in October 2025. The minimum supported version is now Python 3.10
NGBoost.scorenow returns the negative of the average scoring rule (the mean log-likelihood forLogScore), so that higher is better as scikit-learn expects. Previously,GridSearchCVandcross_val_scorewithout an explicitscoringargument selected the worst model (issue [#418], PR [#423])- Base learners are now seeded from the model
random_state, so fits are reproducible and independent ofn_jobs. Output for the default base learner shifts relative to 0.5.x (PR [#417])
New features
- Add optional
n_jobsparameter to fit base learners in parallel with threads (PR [#416]) - Support a distinct base learner for each distribution parameter, including scikit-learn nested parameters and feature importances for all-tree configurations (issue [#338], PR [#411])
- Add
validation_fractionandearly_stopping_roundstoNGBClassifierandNGBSurvivalfor API parity withNGBRegressor(issue [#402], PR [#407]) - Report fitted status to scikit-learn's
check_is_fittedvia__sklearn_is_fitted__, fixingNotFittedErrorinPipeline.predicton sklearn >= 1.8 (PR [#429]) - Set scikit-learn classifier metadata on
NGBClassifierso that scikit-learn correctly identifies it as a classifier (PR [#413]) - Handle array-like sample weights positionally and validate them at fit time; weights with wrong length, shape, NaN, or inf now raise
ValueError(PR [#425]) - Document saving and loading models with
skopsand test the round trip (PR [#427])
Bug fixes
- Fix the
CRPScoremetric ofNormal,NormalFixedMean, andLogNormal, which was off by a factor of the predicted scale. Fits usingCRPScorewith these distributions now produce correct natural gradients (issue [#421], PR [#424]) - Fix the scale gradient of the
LaplaceCRPScore, which dropped a0.75 * scaleterm (PR [#419]) - Fix censored scores and gradients for
ExponentialandLogNormal, which swapped censored and observed rows and had sign and extra-term errors (PR [#420]) - Fix the log-scale Fisher information of
TFixedDfandCauchy, which was off by a factor of4 * var(PR [#422]) - Reset validation iteration metadata on refit so that re-calling
fiton the same model behaves identically to fitting a fresh one (PR [#426]) - Keep
random_stateas given and seed a fresh generator infit, so thatget_paramsreturns the original value and clones behave identically (PR [#417]) - Replace the deprecated
friedman_msecriterion withsquared_errorfor the default tree learner (issue [#408], PR [#409])
Documentation and CI
- Build the user guide with Jupyter Book 2 in GitHub Actions and deploy on push to master (PR [#428])
- Remove the old prebuilt docs site generated by jupyter-book 0.x in 2020 (PR [#430])
- Run user guide notebooks during the docs build with
--execute, replacing removedload_bostoncalls withload_diabetes(PR [#431]) - Mark observed rows as events in the survival examples (PR [#436])
- Run the test matrix once per commit and cancel stale PR runs via concurrency groups (PR [#444])
- Fix scikit-learn wheel resolution on Python 3.14 (PR [#414])