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 our Roadmap.
[2.2.2] - 2023-04-20#
Highlights#
lifelinespredictive survival regressors are available asskproestimators: accelerated failure time (Fisk, Log-normal, Weibull), CoxPH variants, Aalen additive model (#247, #258, #260) @fkiralyscikit-survivalpredictive survival regressors are available asskproestimators: CoxPH variants, CoxNet, survival tree and forest, survival gradient boosting (#237) @fkiralyGLM regressor`` using
statsmodelsGLM, 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 alenmethod, which returns the number of number of rows of the distribution, this is the same as thelenof apd.DataFramereturned bysample.the interface now supports discrete distributions and those with integer support. Such distributions implement
pmfandlog_pmfmethods.
Enhancements#
Probability distributions#
[ENH] make
Empiricaldistribution compatible with multi-index rows (#233) @fkiraly[ENH] empirical quantile parameterized distribution (#236) @fkiraly
[ENH] add
lenofBaseDistribution, 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_paramsfromLogNormal(#256) @fkiraly[ENH] Fisk distribution aka log-logistic distribution (#259) @fkiraly
Probabilistic regression#
[ENH]
GLMRegressorusing statsmodelsGLMwith Gaussian link (#222) @julian-fong[ENH] added test parameters for probabilistic metrics (#234) @fkiraly
Survival and time-to-event prediction#
[ENH] adapter to
scikit-survival, all distributional survival regressors interfaced (#237) @fkiraly[ENH] adapter to
lifelines, most distributional survival regressors interfaced (#247) @fkiraly[ENH] log-normal AFT model from ``lifelines``(#258) @fkiraly
[ENH] log-logistic/Fisk AFT model from
lifelines(#260) @fkiraly
Fixes#
Probability distributions#
Test framework#
Documentation#
Maintenance#
Contributors#
[2.2.1] - 2023-03-03#
Minor bugfix and maintenance release.
Contents#
[2.2.0] - 2023-02-08#
Highlights#
interface to
cyclic_boostingpackage (#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#
pandasbounds 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 inskproproper and compatible third party packages. It is also used to generate mini-package headers used in lookup functionality of theskprowebpage.the
model_selectionandbenchmarkingutilities now support abstract parallelization backends via thebackendandbackend_paramsarguments. 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
Cinfit, 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
Cif 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
Cargument to thefitmethods. Regressors that genuinely support survival prediction have thecapability: survivaltag set toTruein their metadata.an extension template for survival prediction has been added to the
skproextension templates, inextension_templatesthe interface for probabilistic performance metrics has been extended to also accept censoring information, which can be passed via the optional
C_trueargument, to all performance metrics. Metrics genuinely supporting survival prediction have thecapability: survivaltag set toTrue. Other metrics still take theC_trueargument, but ignore it. This corresponds to the naive reduction strategy of “ignoring censoring information”.for pipelining and tuning, the existing compositors in
model_selectionandregression.composecan be used, see above.for benchmarking, the existing benchmarking framework in
benchmarkingcan 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
evaluateand 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.0to0.12.1(#183) @dependabot[MNT] skip
CyclicBoostingand QPD tests until #189 failures are resolved (#193) @fkiraly[MNT] [Dependabot](deps-dev): Update pandas requirement from
<2.2.0,>=1.1.0to>=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.0to3.0.1(#202) @dependabot
Contributors#
[2.1.3] - 2023-01-22#
sklearn compatibility update:
compatibility with
sklearn 1.4.Xaddition of
feature_names_in_andn_features_in_default attributes toBaseProbaRegressor, written toselfinfit
sklearnbounds have been updated to<1.4.0,>=0.24.0.
probabilistic regressors will now always save attributes
feature_names_in_andn_features_in_toselfinfit.feature_names_in_is an 1Dnp.ndarrayof 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_paramsinterface.
Enhancements#
[ENH] in
BaseRegressorProba.fit, use"feature_names"metadata field to store feature names and write toselfinfit(#180) @dependabot
Maintenance#
[MNT] [Dependabot](deps): Bump
actions/dependency-review-actionfrom 3 to 4 (#178) @dependabot[MNT] [Dependabot](deps-dev): Update polars requirement from
<0.20.0to<0.21.0(#176) @dependabot[MNT] [Dependabot](deps-dev): Update
sphinx-issuesrequirement from<4.0.0to<5.0.0(#179) @dependabot[MNT] [Dependabot](deps-dev): Update
scikit-learnrequirement from<1.4.0,>=0.24.0to>=0.24.0,<1.5.0(#177) @dependabot
[2.1.2] - 2023-01-07#
Highlights#
sklearnbased probabilistic regressors - Gaussian processes, Bayesian linear regression (#166) @fkiralySklearnProbaReg- general interface adapter tosklearnregressors with variance prediction model (#163) @fkiraly
Dependency changes#
scikit-basebounds 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]
sklearnwrappers to str-coerce columns ofpd.DataFramebefore passing (#148) @fkiraly[ENH] clean up copy-paste leftovers in
BaseProbaRegressor(#156) @fkiraly[ENH] adapter for
sklearnprobabilistic regressors (#163) @fkiraly[ENH] interfacing all concrete
sklearnprobabilistic regressors (#166) @fkiraly
Test framework#
Fixes#
Probabilistic regression#
Documentation#
Maintenance#
[MNT] [Dependabot](deps): Bump
actions/upload-artifactfrom 3 to 4 (#154) @dependabot[MNT] [Dependabot](deps): Bump
actions/download-artifactfrom 3 to 4 (#153) @dependabot[MNT] [Dependabot](deps): Bump
actions/setup-pythonfrom 4 to 5 (#152) @dependabot[MNT] [Dependabot](deps-dev): Update
sphinx-galleryrequirement from<0.15.0to<0.16.0(#149) @dependabot[MNT] [Dependabot](deps-dev): Update
scikit-baserequirement from<0.7.0,>=0.6.1to>=0.6.1,<0.8.0(#169) @dependabot[MNT] adding
codecov.ymland 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
numpyrequirement from<1.25,>=1.21.0to>=1.21.0,<1.27(#118) @dependabot[MNT] Python 3.12 support - for
skprorelease 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
dependabotfor version updates and maintenance (#110) @fkiraly[MNT] [Dependabot](deps): Bump
styfle/cancel-workflow-actionfrom 0.9.1 to 0.12.0 (#113) @dependabot[MNT] [Dependabot](deps): Bump
actions/dependency-review-actionfrom 1 to 3 (#114) @dependabot[MNT] [Dependabot](deps): Bump
actions/checkoutfrom 3 to 4 (#115) @dependabot[MNT] [Dependabot](deps): Bump
actions/download-artifactfrom 2 to 3 (#116) @dependabot[MNT] [Dependabot](deps): Bump
actions/upload-artifactfrom 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.