Feature release with Python 3.15 compatibility.
Users should also note completed deprecations and consult notes below.
Please see our changelog for a description of all changes.
Highlights
- Python 3.15 compatibility,
pandas3.1.X compatibility (#11649) @fkiraly, @yash-sangwan - further reduction of estimator memory usage and stored model sizes (#10802) @Faakhir30
categorytag for estimator categorization, e.g.,"machine_learning","foundation_model"(#11417) @jgyasu- TimeH2O forecasting foundation model (#11694) @KrishChadha001
- Tabby forecasting foundation model (#11691) @saptadeep12
- TimerS1 forecasting foundation model compatibility with
transformers 5(#11237) @yftx293 - New forecasting metrics: MeanAbsoluteErrorPercentage (MAE%) and mean forecast bias (#11637, #11582) @Nischal1425, @Utkarshhs
Dependency changes
- Python 3.15 is now supported by the
sktimeframework. - Python 3.10 is no longer supported by the
sktimeframework, as Python 3.10 reached end-of-life. pandas 3.1.Xis now supported by thesktimeframework. Thepandasupper bound has been raised to<3.2.polars(data container soft dependency) upper bound has been updated to<3.0.numba(computation soft dependency) upper bound has been updated to<0.69
Core interface changes
BaseObject and base framework
- All objects now can have a
categorytag for categorization, e.g.,"machine_learning","foundation_model". This allows to search for models in a specific category viaall_estimators. - All objects now can have a
shorthandstag, which can specify short names or aliases for specific instances of the object. These shorthands can be accessed via thecraftutility.
Benchmarking, Metrics, Splitters
Benchmark analyzers are now first-class citizens, and inspectable via the registry, or craftable via craft. The type shorthand is benchmark_analyzer.
Time series detection, classification, regression
Time series detectors (BaseDetector`), classifiers (BaseClassifier), and regressors (``BaseRegressor) now have an extensible pretrain mechanism for handling pretrained models.
The pretraining API for detectors, classifiers, and regressors is not fully mature; model capabilities will be expanded in future releases.
Deprecations and removals
Forecasting
From version 1.3.0, forecasters no longer universally provide "refitting " update capability by default and as a consequence no longer store all data seen so far in self._y and/or self._X.
Forecasters with an available "update" mode can now be queried via the capability:update tag.
To replicate the former default behaviour of "memorize all data and refit" in an upwards compatible way, users can use the UpdateRefitsEvery compositor from sktime.forecasting.stream.
In order to test future post-1.3.0 behaviour, users can set the config remember_data to False, via the .set_config(remember_data=False) (prior to forecaster use).
Time series classification and regression
In tuners TSCGridSearchCV and TSRGridSearchCV, deprecated parameters n_jobs and pre_dispatch have been removed.
Configuration parameters for the parallelization backend should be passed via backend_params in the future.
All Contributors
@7524yash7524,
@aakash1552005,
@AbdulAliMamnun,
@amarjaleelbanbhan,
@amotl,
@aryamanDutta,
@chetana1410,
@Dhruv-Kumar-Singh,
@dhruvgupta2109,
@direkkakkar319-ops,
@Faakhir30,
@fkiraly,
@gthay,
@Harshdeep-creator,
@jgyasu,
@KrishChadha001,
@kritikhatri,
@leandrepi,
@markksantos,
@MayankSharma-2812,
@Me-Priyank,
@nahcol10,
@nikolas-sapa,
@Nischal1425,
@PiyushKumar74110,
@PragnyaKhandelwal,
@PredictiveManish,
@RobKuebler,
@S-h-u-b-h-1,
@saptadeep12,
@shivamkumxr,
@shrohan2003,
@shubham5080,
@srupat,
@SumanGouda,
@Utkarshhs,
@Viranshul-P,
@Vivek1106-04,
@VividhDesign,
@yarnabrina,
@yash-sangwan,
@yftx293
New Contributors
- @amotl made their first contribution in #11268
- @VividhDesign made their first contribution in #11370
- @nikolas-sapa made their first contribution in #11307
- @KrishChadha001 made their first contribution in #11411
- @MayankSharma-2812 made their first contribution in #9585
- @aakash1552005 made their first contribution in #11445
- @SumanGouda made their first contribution in #11444
- @leandrepi made their first contribution in #11292
- @shivamkumxr made their first contribution in #11337
- @chetana1410 made their first contribution in #11520
- @shrohan2003 made their first contribution in #11562
- @S-h-u-b-h-1 made their first contribution in #11578
- @Utkarshhs made their first contribution in #11602
- @Harshdeep-creator made their first contribution in #11609
- @yftx293 made their first contribution in #11237
- @Arihant2007 made their first contribution in #11631
- @kritikhatri made their first contribution in #11705
- @Viranshul-P made their first contribution in #11428
- @Dhruv-Kumar-Singh made their first contribution in #11690
- @saptadeep12 made their first contribution in #11691
- @Vivek1106-04 made their first contribution in #11686
- @7524yash7524 made their first contribution in #11464
- @PredictiveManish made their first contribution in #9575
- @dhruvgupta2109 made their first contribution in #11678
- @markksantos made their first contribution in #11726
Full Changelog: v1.2.0...v1.3.0