You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Classification forecasting for regression models (#2765)
* Add categorical cov support to XGBoost, CatBoost
* Add type check for cat features, refactor cat indices logic
* Split cat. comp. validation logic and test it
* Support categorical cov created via an encoder
* Validate categorical features
* Support categorical features for HistGradientBoostingRegressor
* Fix typos
* Apply suggestions, limit cat cov support to LightGBM and CatBoost
* Update changelog and doc
* Fix typo in TS doc
* Rebase cat forecasting PR, on cat covariates PR
* Speed up tests by limiting lgbm and catboost depth and iterations
* Extend test categorical target
* Add categorical cov support to XGBoost, CatBoost
* Fix typo in TS doc
* Rebase cat forecasting PR, on cat covariates PR
* Speed up tests by limiting lgbm and catboost depth and iterations
* Extend test categorical target
* Add classification accuracy metric
* Fix master rebase
* Fix typo rebase
* Keep categorical metrics for separate PR
* Add categorical forecasting models to module __init__
* Refactor MutliOutput to support MultiOutputClassifier, wip
* Move _forecasting_type into CategoricalForecastingMixin
* Further refactoring of multioutput wrapper
* Implement ClassProbabilityLikelihood to forecast categorical probabilities
* Add support for ClassProbabilityLikelihood in XGB, CatBoost and LGB
* Reorder functions
* Create categorical forecasting likelihood specific tests
* Add docstring to CatBoostCategoricalModel
* Add LightGBMCategoricalModel to model module init
* Allow likelihoodType in _check_likelihood
* Update doc
* Update ClassProbability name from class_probability to classprobability
* Remove default model, update doc
* Rename categorical forecasting to classification forecasting
* Set ClassProbabilityLikelihood as default for all classifiers models
* Update darts/models/forecasting/regression_model.py
Co-authored-by: Dennis Bader <[email protected]>
* Update darts/utils/multioutput.py
Co-authored-by: Dennis Bader <[email protected]>
* Addresses review suggestions
* Move ClassProbabilityLikelihood to sklearn likelihood
* Extends classes_ test to multi-output
* Expose likelihood in classifiers constructor
* Bump test env to macos-14
* Fix test
* Add multioutput validation test
* Fix categorical validation features
* Extend multi-ouput tests
* fix merge conflicts
* Extend likelihood tests
* Merge _check_likelihood into _get_likelihood
* Address suggestions
* Rename .classes_ to .class_labels, fix tests
* Check estimators for same component have same labels
* Improve ClassProbabilityLikelihood robustness to input format
* Add input format to tests
* Extend test case for multioutput wrapper
* Improve ClassProbabilitiy robustness to TS formats
* Move and refactor classes in CLassifierMixin
* Refactor internal class proba representation
* Extend test to component names and warnings
* Fix test randomness
* Extend class probabilites checks to multivariate/mulitseries
* Unify CatBoostClassifier prediction shape
* Improve robustness of multi sample prediction
* Refactor probabilistic tests
* Return self on fit
* Test ClassProbability for reproducible output
* Update changelog
* Test edge case multioutput/likelihood
* Address small suggestions from review
* Optimize likelihood sampling
* update class probability likelihood component names
* Fix sample, add tests
* Apply minor suggestions
* Fix lint
* Fix merge
* remove random state params
* udpate tests
* minor fixes
* add example notebook
* add first backtesting tests
* remove examples
* last updates
---------
Co-authored-by: jonasblanc <[email protected]>
Co-authored-by: Dennis Bader <[email protected]>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+7Lines changed: 7 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,6 +11,10 @@ but cannot always guarantee backwards compatibility. Changes that may **break co
11
11
12
12
**Improved**
13
13
14
+
- Added support for classification forecasting with SKLearn-like forecasting models. [#2765](https://github.com/unit8co/darts/pull/2765) by [Jonas Blanc](https://github.com/jonasblanc) and [Dennis Bader](https://github.com/dennisbader).
15
+
- Added `SklearnClassifierModel` which can take any sklearn-like classifier model.
16
+
- Added `LightGBMClassifierModel`, `XGBClassifierModel` and `CatBoostClassifierModel` which use the classifier models of the respective libraries.
17
+
- Added `ClassProbabilityLikelihood` and set it as the default likelihood for classifiers to predict class probabilities with `predict_likelihood_parameters=True` when calling `predict()`.
14
18
- Added classification metrics `accuracy()`, `f1()`, `precision()`, and `recall()`, `confusion_matrix()` to the `metrics` module. Use these metrics to evaluate the performance of classification models. [#2767](https://github.com/unit8co/darts/pull/2767) by [Jonas Blanc](https://github.com/jonasblanc) and [Dennis Bader](https://github.com/dennisbader).
15
19
16
20
**Fixed**
@@ -21,6 +25,9 @@ but cannot always guarantee backwards compatibility. Changes that may **break co
21
25
22
26
### For developers of the library:
23
27
28
+
- Renamed `RegressionModelWithCategoricalCovariates` to `RegressionModelWithCategoricalFeatures` which now also supports categorical target features. [#2765](https://github.com/unit8co/darts/pull/2765) by [Jonas Blanc](https://github.com/jonasblanc)
29
+
- Added `MultiOutputClassifier` for handling multi-output classification tasks. [#2765](https://github.com/unit8co/darts/pull/2765) by [Jonas Blanc](https://github.com/jonasblanc)
0 commit comments