Changelog#
All notable changes to this project beggining with version 0.1.0 will be documented in this file. The format is based on Keep a Changelog and we adhere to Semantic Versioning. The source code for all releases is available on GitHub.
You can also subscribe to skpro
’s
PyPi release.
For planned changes and upcoming releases, see roadmap in the issue tracker.
[2.2.2] - 2024-04-20#
Highlights#
lifelines
predictive survival regressors are available asskpro
estimators: accelerated failure time (Fisk, Log-normal, Weibull), CoxPH variants, Aalen additive model (#247, #258, #260) @fkiralyscikit-survival
predictive survival regressors are available asskpro
estimators: CoxPH variants, CoxNet, survival tree and forest, survival gradient boosting (#237) @fkiralyGLM regressor using
statsmodels
GLM
, with Gaussian link (#222) @julian-fongvarious survival type distributions added: log-normal, logistic, Fisk (=log-logistic), Weibull (#218, #241, #242, #259) @bhavikar, @malikrafsan, @fkiraly
Core interface changes#
Probability distributions#
Probability distributions (
BaseDistribution
) now have alen
method, which returns the number of number of rows of the distribution, this is the same as thelen
of apd.DataFrame
returned bysample
.the interface now supports discrete distributions and those with integer support. Such distributions implement
pmf
andlog_pmf
methods.
Enhancements#
Probability distributions#
[ENH] make
Empirical
distribution compatible with multi-index rows (#233) @fkiraly[ENH] empirical quantile parameterized distribution (#236) @fkiraly
[ENH] add
len
ofBaseDistribution
, testshape
,len
, indices (#239) @fkiraly[ENH] Logistic distribution (#241) @malikrafsan
[ENH] Weibull distribution (#242) @malikrafsan
[ENH] Johnson QP-distributions - add some missing capability tags (#253) @fkiraly
[ENH] remove stray
_get_bc_params
fromLogNormal
(#256) @fkiraly[ENH] Fisk distribution aka log-logistic distribution (#259) @fkiraly
Probabilistic regression#
[ENH]
GLMRegressor
using statsmodelsGLM
with Gaussian link (#222) @julian-fong[ENH] added test parameters for probabilistic metrics (#234) @fkiraly
Survival and time-to-event prediction#
Test framework#
Fixes#
Probability distributions#
Documentation#
Maintenance#
Contributors#
[2.2.1] - 2024-03-03#
Minor bugfix and maintenance release.
Contents#
[2.2.0] - 2024-02-08#
Highlights#
interface to
cyclic_boosting
package (#144) @setoguchi-naoki, @FelixWickframework support for probabilistic survival/time-to-event prediction with right censored data (#157) @fkiraly
basic set of time-to-event prediction estimators and survival prediction metrics (#161, #198) @fkiraly
Johnson Quantile-Parameterized Distributions (QPD) with bounded and unbounded mode (#144) @setoguchi-naoki, @FelixWick
abstract parallelization backend, for benchmarking and tuning (#160) @fkiraly, @hazrulakmal
Dependency changes#
pandas
bounds have been updated to>=1.1.0,<2.3.0
.
Core interface changes#
BaseObject and base framework#
estimators and objects now record author and maintainer information in the new tags
"authors"
and"maintainers"
. This is required only for estimators inskpro
proper and compatible third party packages. It is also used to generate mini-package headers used in lookup functionality of theskpro
webpage.the
model_selection
andbenchmarking
utilities now support abstract parallelization backends via thebackend
andbackend_params
arguments. This has been standardized to use the same backend options and syntax as the abstract parallelization backend insktime
.
Probabilistic regression#
all probabilistic regressors now accept an argument
C
infit
, to pass censoring information. This is for API compatibility with survival and is ignored when passed to non-survival regressors, corresponding to the naive reduction strategy of “ignoring censoring information”.existing pipelines, tuners and ensemble methods have been extended to support survival prediction - if
C
if passed, it is passed to the underlying components.
Survival and time-to-event prediction#
support for probabilistic survival or time-to-event prediction estimators with right censored data has been introduced. The interface and base class is identical to the tabular probabilistic regression interface, with the addition of a
C
argument to thefit
methods. Regressors that genuinely support survival prediction have thecapability: survival
tag set toTrue
in their metadata.an extension template for survival prediction has been added to the
skpro
extension templates, inextension_templates
the interface for probabilistic performance metrics has been extended to also accept censoring information, which can be passed via the optional
C_true
argument, to all performance metrics. Metrics genuinely supporting survival prediction have thecapability: survival
tag set toTrue
. Other metrics still take theC_true
argument, but ignore it. This corresponds to the naive reduction strategy of “ignoring censoring information”.for pipelining and tuning, the existing compositors in
model_selection
andregression.compose
can be used, see above.for benchmarking, the existing benchmarking framework in
benchmarking
can be used, it has been extended to support survival prediction and censoring information.
Enhancements#
Probability distributions#
[ENH] Johnson Quantile-Parameterized Distributions (QPD) with bounded and unbounded mode (#144) @setoguchi-naoki, @FelixWick
Probabilistic regression#
[ENH] Cyclic boosting interface (#144) @setoguchi-naoki, @FelixWick
[ENH] abstract parallelization backend, refactor of
evaluate
and tuners, extend evaluate and tuners to survival predictors (#160) @fkiraly, @hazrulakmal
Survival and time-to-event prediction#
Fixes#
Probabilistic regression#
Test framework#
Documentation#
Maintenance#
[MNT] [Dependabot](deps): Bump styfle/cancel-workflow-action from
0.12.0
to0.12.1
(#183) @dependabot[MNT] skip
CyclicBoosting
and QPD tests until #189 failures are resolved (#193) @fkiraly[MNT] [Dependabot](deps-dev): Update pandas requirement from
<2.2.0,>=1.1.0
to>=1.1.0,<2.3.0
(#182) @dependabot[MNT] [Dependabot](deps): Bump codecov/codecov-action from 3 to 4 by (#201) @dependabot
[MNT] [Dependabot](deps): Bump pre-commit/action from
3.0.0
to3.0.1
(#202) @dependabot
Contributors#
[2.1.3] - 2023-01-22#
sklearn
compatibility update:
compatibility with
sklearn 1.4.X
addition of
feature_names_in_
andn_features_in_
default attributes toBaseProbaRegressor
, written toself
infit
sklearn
bounds have been updated to<1.4.0,>=0.24.0
.
probabilistic regressors will now always save attributes
feature_names_in_
andn_features_in_
toself
infit
.feature_names_in_
is an 1Dnp.ndarray
of feature names seen infit
,n_features_in_
is anint
, and equal tolen(feature_names_in_)
.this ensures compatibility with
sklearn
, where these attributes are expected.the new attributes can also be queried via the existing
get_fitted_params
interface.
Enhancements#
[ENH] in
BaseRegressorProba.fit
, use"feature_names"
metadata field to store feature names and write toself
infit
(#180) @dependabot
Maintenance#
[MNT] [Dependabot](deps): Bump
actions/dependency-review-action
from 3 to 4 (#178) @dependabot[MNT] [Dependabot](deps-dev): Update polars requirement from
<0.20.0
to<0.21.0
(#176) @dependabot[MNT] [Dependabot](deps-dev): Update
sphinx-issues
requirement from<4.0.0
to<5.0.0
(#179) @dependabot[MNT] [Dependabot](deps-dev): Update
scikit-learn
requirement from<1.4.0,>=0.24.0
to>=0.24.0,<1.5.0
(#177) @dependabot
[2.1.2] - 2024-01-07#
Highlights#
sklearn
based probabilistic regressors - Gaussian processes, Bayesian linear regression (#166) @fkiralySklearnProbaReg
- general interface adapter tosklearn
regressors with variance prediction model (#163) @fkiraly
Dependency changes#
scikit-base
bounds have been updated to<0.8.0,>=0.6.1
.polars
(data container soft dependency) bounds have been updated to allow python 3.12.
Enhancements#
Data types, checks, conversions#
Probability distributions#
Probabilistic regression#
[ENH]
sklearn
wrappers to str-coerce columns ofpd.DataFrame
before passing (#148) @fkiraly[ENH] clean up copy-paste leftovers in
BaseProbaRegressor
(#156) @fkiraly[ENH] adapter for
sklearn
probabilistic regressors (#163) @fkiraly[ENH] interfacing all concrete
sklearn
probabilistic regressors (#166) @fkiraly
Test framework#
Fixes#
Probabilistic regression#
Documentation#
Maintenance#
[MNT] [Dependabot](deps): Bump
actions/upload-artifact
from 3 to 4 (#154) @dependabot[MNT] [Dependabot](deps): Bump
actions/download-artifact
from 3 to 4 (#153) @dependabot[MNT] [Dependabot](deps): Bump
actions/setup-python
from 4 to 5 (#152) @dependabot[MNT] [Dependabot](deps-dev): Update
sphinx-gallery
requirement from<0.15.0
to<0.16.0
(#149) @dependabot[MNT] [Dependabot](deps-dev): Update
scikit-base
requirement from<0.7.0,>=0.6.1
to>=0.6.1,<0.8.0
(#169) @dependabot[MNT] adding
codecov.yml
and turning coverage reports informational (#165) @fkiraly[MNT] handle deprecation of
pandas.DataFrame.applymap
(#170) @fkiraly
[2.1.1] - 2023-11-02#
Highlights#
Enhancements#
Data types, checks, conversions#
Probabilistic regression#
Test framework#
Documentation#
Maintenance#
Fixes#
Contributors#
[2.1.0] - 2023-10-09#
Python 3.12 compatibility release.
Contents#
[MNT] [Dependabot](deps-dev): Update
numpy
requirement from<1.25,>=1.21.0
to>=1.21.0,<1.27
(#118) @dependabot[MNT] Python 3.12 support - for
skpro
release 2.1.0 (#109) @fkiraly
[2.0.1] - 2023-10-08#
Release with minor maintenance actions and enhancements.
Enhancements#
Documentation#
Maintenance#
[MNT] address deprecation of
skbase.testing.utils.deep_equals
(#111) @fkiraly[MNT] activate
dependabot
for version updates and maintenance (#110) @fkiraly[MNT] [Dependabot](deps): Bump
styfle/cancel-workflow-action
from 0.9.1 to 0.12.0 (#113) @dependabot[MNT] [Dependabot](deps): Bump
actions/dependency-review-action
from 1 to 3 (#114) @dependabot[MNT] [Dependabot](deps): Bump
actions/checkout
from 3 to 4 (#115) @dependabot[MNT] [Dependabot](deps): Bump
actions/download-artifact
from 2 to 3 (#116) @dependabot[MNT] [Dependabot](deps): Bump
actions/upload-artifact
from 2 to 3 (#117) @dependabot
[2.0.0] - 2023-09-13#
Re-release of skpro
, newly rearchitected using skbase
!
Try out skpro v2
on Binder!
Contributions, bug reports, and feature requests are welcome on the issue tracker
or on the community Discord.
Contributors#
[1.0.1] - 2019-02-18#
First stable release of skpro
, last release before hiatus.
[1.0.0b] - 2017-12-08#
First public release (beta) of skpro
.