Skip to content

0.0.2

Compare
Choose a tag to compare
@almostintuitive almostintuitive released this 18 Apr 16:19
· 264 commits to main since this release

What's Changed

  • feature(Project): added loop, base classes and utils by @almostintuitive in #1
  • refactor(Loop): fit_transformations now using single time pd.Series construction by @almostintuitive in #2
  • fix(Transformation): remove unnecessary clone() method, use python 3.7 compatible List type by @almostintuitive in #5
  • feature(Models): Ensemble model added, as well as the first test by @almostintuitive in #7
  • feature(Splitters): using a better interface by @almostintuitive in #10
  • fix(Transformations): inference wasn't working & added tests by @almostintuitive in #11
  • refactor(API): don't differentiate between Transformations and Models by @almostintuitive in #13
  • fix(Models): wrap model output into pd.Series by @almostintuitive in #15
  • fix(Loop): introduced Composite base class, deepcopying composites is working now by @almostintuitive in #16
  • feature(Composite): allow nested pipelines by @almostintuitive in #20
  • fix(Loop): deepcopying done correctly, fixed Concat swapping column order if there are duplicates by @almostintuitive in #21
  • chore(Project): remove unused imports by @almostintuitive in #22
  • fix(Models): Ensemble was getting the mean on the wrong axis by @almostintuitive in #23
  • feature(Splitters): added SingleWindowSplitter by @almostintuitive in #24
  • feature(Models): added seasonal_mean and seasonal_naive Baseline strategies by @almostintuitive in #25
  • feature(Transformations): added TransformTarget() Composite transformation by @almostintuitive in #26
  • feature(Transformations): added PerColumnEnsemble & PerColumnTransformation by @almostintuitive in #29
  • docs(Licence): Updated licence to include commons clause restrict… by @szemyd in #31
  • docs(Readme): Added inital drift readme. by @szemyd in #30
  • feature(CI): added code coverage to GH actions by @almostintuitive in #34
  • fix(CI): environment specified by @almostintuitive in #35
  • fix(CI): added pytest-cov by @almostintuitive in #36
  • chore(Docs): updated README with codecov badge by @almostintuitive in #37
  • fix(Transformations): added sklearn <1.2 compatibility by @almostintuitive in #39
  • refactor(Loop): added Composite.clone() method to remove dependence between loop and models by @almostintuitive in #40
  • fix(Transformations): TransformTarget should return a pd.Series, sklearn and FunctionTransformation inverse_transform is working now by @almostintuitive in #42
  • feature(Transformations): make past training data available, introduced Properties, renamed infer to backtest by @almostintuitive in #43
  • feature(Models): propagate probabilities along with preditions for classifers by @almostintuitive in #45
  • feature(Tests): added tests for Ensembling probabilities by @almostintuitive in #46
  • fix(Ensemble): match class columns exactly by @almostintuitive in #47
  • feature(Composite): added MetaLabeling, Composite.Properties, ability to add secondary transformations in Composite by @almostintuitive in #49
  • feature(Splitters): added optional embargo between train/test sets & tests for all Splitters by @almostintuitive in #50
  • feature(Composite): added SkipNA class, and tests by @almostintuitive in #51
  • feature(Loop): added Backend option utilizing ray by @almostintuitive in #52
  • feature(Transformation): added Sampling class, wrapping any imblearn-learn sampler by @almostintuitive in #53
  • feature(Models): added RandomClassifier by @almostintuitive in #56
  • refactor(Composite): TransformTarget is now a Composite by @almostintuitive in #57
  • feature(Transformations): added Breakpoint and TestIdentity transformations, fixed get_flat_list_of_transformations() by @almostintuitive in #58
  • fix(Utils): flatten() should not unpack tuples, only flatten lists by @almostintuitive in #59
  • fix(Transformations): made FunctionTransformation get all the past data, which is a better default by @almostintuitive in #60
  • feature(Loop): support propagating sample_weights parameter to the models during training by @almostintuitive in #61
  • feature(CI): run the tests on every combination of OSes and python versions by @almostintuitive in #64
  • feature(CI): added github actions to deploy docs by @almostintuitive in #63
  • feature(Loop): added ability to update models, deploy by @almostintuitive in #62
  • fix(Loop): continuous updating should be done differently at training/inference time by @almostintuitive in #69
  • fix(Project): eliminated some type errors, include README.md on index by @almostintuitive in #70
  • feature(Docs): added passing tests badge by @almostintuitive in #72
  • fix(Docs): tests badge by @almostintuitive in #73
  • feature(Docs): added docs badge by @almostintuitive in #74
  • feature(Models): added BaselineNaiveSeasonal, fixed slicing of y when updating continuous models by @almostintuitive in #75
  • chore(Project): renamed project to fold by @almostintuitive in #76
  • chore(Docs): updated project details by @almostintuitive in #77
  • feature(Splitters): window_size can be either a float or an interger by @almostintuitive in #78
  • feature(Models): support SKLearn Pipeline objects as well by @almostintuitive in #79
  • feature(Docs): added a couple of new pages by @almostintuitive in #84
  • feature(Loop): validate X, y types by @almostintuitive in #85
  • feature(Docs): updated README by @almostintuitive in #86
  • refactor(Project): removed unused imports, set up precommit hooks by @almostintuitive in #87
  • refactor(Loop): remove tracking of in-sample predictions by @almostintuitive in #88
  • fix(Docs): updated by @almostintuitive in #89
  • feature(CI): build docs even when on a branch, but don't deploy by @almostintuitive in #90
  • feature(Transformation): use .partial_fit if available in SKLearnTransformation, pass sample_weights parameter, if available by @almostintuitive in #91
  • fix(Model): added ability to distinguish between in-sample and out-of-sample predictions by @almostintuitive in #96
  • refactor(Loop): added .update() method, which we now call in the inner loop when requires_continuous_updates == True by @almostintuitive in #97
  • fix(Splitters): allow window_size of 1 by @almostintuitive in #101
  • feature(Utils): added generate_monotonous_data() by @almostintuitive in #102
  • fix(Training): in-sample predictions can contain NaNs (at the start), then they're automatically trimmed by @almostintuitive in #105
  • fix(Loop): condition when to use continuous updates vs in_sample inference by @almostintuitive in #108
  • feature(Docs): unifying the different sections by @almostintuitive in #109
  • refactor(Project): renamed Split class to Fold, requires_continuous_updates to Transformation.Properties.Mode.online by @almostintuitive in #110
  • refactor(Composite): simplified API, made Sample a Composite by @almostintuitive in #116
  • feature(Models): added Hybrid Composite by @almostintuitive in #93
  • feature(Models): added SelectModel Composite by @almostintuitive in #117
  • refactor(Loop): introduced Stage parameter in recursively_transform(), fixed issue sharing model state by @almostintuitive in #119
  • feature(Transformation): added AddLagsY class by @almostintuitive in #121
  • fix(Loop): update only after inference is done, during training by @almostintuitive in #122
  • fix(Loop): inner loop should return a DataFrame as well, no matter what by @almostintuitive in #123
  • fix(Models): Always use the same model name for predictions. by @szemyd in #124
  • fix(Loop): backtesting should only update online (not mini-batch) models, necessary for generating out-of-sample results by @almostintuitive in #127
  • feature(Loop): parallelize training of child transformations by @almostintuitive in #130
  • feature(Loop): handled X being None and added test covering this case. by @szemyd in #133
  • feature(Loop): Added handling of X as None for infer and update as well. by @szemyd in #134
  • feature(Transformation): added Difference and InvertibleTransformation base class (with tests) by @almostintuitive in #135
  • feature(Composite): Added pipeline to make it convienent to understand sequential models. by @szemyd in #138
  • feature(Transformations): added concept of memory, refactored Transformations to use it by @almostintuitive in #137
  • feature(Transformation): added AddLagsX by @almostintuitive in #139
  • refactor(Project): Created composite subdirectory to include all the composites. by @szemyd in #140
  • feature(Docs): added illustrations to README, reworked structure by @szemyd in #126
  • docs(Readme): Added dark mode for each illustration. by @szemyd in #141
  • feature(Docs): added basic docstrings to all public classes, started using the name "Pipeline" by @almostintuitive in #145
  • fix(Loop): when triming initial NaNs, also adjust y, prevent overlapping indicies added from memory by @almostintuitive in #147
  • feature(Docs): Updated new logo and made illustrations work in light and dark mode. by @szemyd in #150
  • feature(Loop): make dummy X (when training univariate models) recognizable by @almostintuitive in #148
  • feature(Docs): Got rid of dark files and updated Dream Faster section with new logos by @szemyd in #151
  • feature(Transformation): added AddDateTimeFeatures class by @almostintuitive in #155
  • fix(Docs): removed background from the logo. by @szemyd in #156
  • fix(Models): NaiveSeasonal should return the value from previous season, renamed memory to memory_size, added RollingMean, drop Baseline prefix by @almostintuitive in #159
  • feature(Loop): silent mode to surpress tqdm logs by @almostintuitive in #161
  • feature(Transformations): added AddWindowFeatures class by @almostintuitive in #162
  • fix(Tests): updated generate_sine_wave_data to new API, composite cloning issue by @almostintuitive in #164
  • feature(Transformations): added AddHolidayFeatures class by @szemyd in #152
  • feature(CI): added publish workflow by @almostintuitive in #165
  • fix(Dependencies): made holiday a soft dependency by @almostintuitive in #166
  • refactor(Loop): broke up a large function into smaller pieces, introduced BackendDependentFunctions type by @almostintuitive in #167
  • feature(Loop): added ability to update certain online models in a mini-batch fashion by @almostintuitive in #168
  • fix(Loop): imports should now be correctly recognized by @almostintuitive in #171
  • chore(Models): remove NaiveSeasonal, RollingMean (moved to fold-models) by @almostintuitive in #173
  • fix(Tests): generate_monotonous_data() is returning the correct length sequence, export Difference by @almostintuitive in #176
  • feature(Loop): Added convenience functions that wraps backtest, train and evaluate by @szemyd in #174
  • feature(Examples): Ensemble comparison with Energy data. by @szemyd in #149
  • fix(Loop): don't expose "mutate" by @almostintuitive in #178
  • feature(Docs): Updated example with easier data loading. Created util functions for data preprocessing. by @szemyd in #179
  • fix(Example): Deduplication should happen after index is set. by @szemyd in #180
  • feature(Docs): New illustrations for readme, updated links. by @szemyd in #181
  • feature(Docs): added short examples in docs/examples, get_preprocess_dataset() to utils, pinned krisi minor version, fixed py3.7 compatiblity by @almostintuitive in #182
  • fix(Docs): use the Cross-Validation terminology, mark "deployment" as coming soon by @almostintuitive in #183
  • feature(Docs): updated README with calendly link, Licence section by @almostintuitive in #184
  • fix(Utils): deduplication strategy should be passed as value by @almostintuitive in #185
  • chore(Loop): Removed infer, update and training_for_deployment. by @szemyd in #186
  • feature(Utils): added optional resample parameter to get_preprocessed_dataset() by @almostintuitive in #187
  • refactor(Project): use the words pipeline and trained_pipelines across the project by @almostintuitive in #189
  • fix(Utils): is_X_available was returning incorrect value by @almostintuitive in #190
  • fix(Dataset): Data preprocessing now cuts +1. by @szemyd in #191
  • feature(Docs): updated examples by @almostintuitive in #192
  • feature(Transformations): AddLagX can now receive ('all', integer) to apply lags for all columns by @szemyd in #194
  • fix(Docs): Logos were mixed up. by @szemyd in #195
  • fix(Transformation): Holiday features was referring to an unwrapped list and gave an error. by @szemyd in #196
  • feature(Transformation): added Transformation.Properties.requires_X and checks by @almostintuitive in #198
  • fix(Utils): properly truncate initial NaNs in X by @almostintuitive in #200
  • feature(Transformations): AddLagsY requires a List or a range, AddLagsX now accepts range by @almostintuitive in #202
  • fix(Transformation): AddLagsY will create a new DataFrame if X is not available, migrated all transformations to the pattern where we create a new DataFrame instead of directly mutating X by @almostintuitive in #207
  • fix(Composites): export Concat, Pipeline, TransformColumn from composites by @almostintuitive in #208
  • fix(Docs): Readme badges styling for our website and pandas deprecations fix. by @szemyd in #212
  • fix(Transformations): Warnings due to pandas deprecation. by @almostintuitive in #211
  • fix(Composites): Concat's "both" resolution strategy wasn't working, added tests to check all cases by @almostintuitive in #214
  • chore(Loop): tqdm is now imported from tqdm.auto to support colab and jupyter notebooks by @szemyd in #216
  • feature(Transformations): added TakeLog, AddConstant, TurnPositive date-time convenience classes, made TransfomTarget accept a pipeline by @almostintuitive in #219
  • feature(Docs): Restructured mkdocs: api, examples, styling and plugins configured.. by @szemyd in #220
  • feature(Tests): added first doctest, separated unit/integration/doc tests, added tests for ray integration by @almostintuitive in #221
  • feature(Docs): Changed Composite Pipeline to Composite Models everywhere. by @szemyd in #222
  • feature(Docs): Restructured the directories and the navigation to be easier to navigate both in dev and when browsing the docs. by @szemyd in #223
  • feature(Docs): Updated mkdocs to expect with numpy style docstrings. by @szemyd in #225
  • fix(Composited): don't expose internal flags in public init(), indent Examples in docstrings, remove "Returns" sections by @almostintuitive in #227
  • feature(Docs): populated some docstrings with examples by @almostintuitive in #229
  • feature(Docs): Added more docstrings and restructured api page to have seperate types and main loops. by @szemyd in #230
  • feature(Docs): added examples, parameters to a couple of classes by @almostintuitive in #231
  • feature(Loop): automatically wrap model if wrapper is available in fold_models by @almostintuitive in #232
  • refactor(Loop): removed BlocksOrWrappable type by @almostintuitive in #234
  • chore(Loop): Renamed train_backtest_score to train_evaluate everywhere by @szemyd in #233
  • feature(Docs): Added Walkthrough, Gallery of Example Snippets and better handling of images. by @szemyd in #236
  • feature(Docs): added docstrings to all public functions in loop by @almostintuitive in #238
  • feature(Docs): added docstrings and examples to all Models by @almostintuitive in #240
  • feature(Composites): renamed ModelResidals, EnsembleEachColumn, TransformEachColumn, added examples by @almostintuitive in #241
  • feature(Contribution): Update issue templates by @szemyd in #242
  • fix(Docs): updated README quick start example by @almostintuitive in #243
  • feature(Docs): enhanced "What is Continuous Validation" page by @almostintuitive in #246
  • refactor(Project): rename fold-models to fold-wrapper by @almostintuitive in #247
  • fix(Docs): README should not depend on krisi by @almostintuitive in #244
  • fix(Docs): examples now render with syntax highlighting enabled by @almostintuitive in #248
  • feature(Models): added TimeSeriesModel base class by @almostintuitive in #249
  • chore(Docs): Updated Readme with new library diagrams. by @szemyd in #251
  • chore(Package): Renaming references to fold-wrapper by @szemyd in #252
  • chore(Docs): Updated walktroughs to reference fold-wrappers. by @szemyd in #253
  • feature(Docs): Updated the example links and the walkthrough colab links. by @szemyd in #254
  • fix(Loop): memory now only adds maximum memory_size past values, y is now non-optional during fit() and update() by @almostintuitive in #250
  • feature(Licence): Updated Licence. by @szemyd in #245
  • feature(Docs): added explanations of model learning modes, forecasting horizon by @almostintuitive in #256
  • feature(Docs): Added pricing page, fixed minor issues in readme. by @szemyd in #255
  • feature(Docs): Updated Readme with new calendly link by @szemyd in #257
  • fix(Docs): updated Licence&Usage section by @almostintuitive in #258
  • feature(Docs): Updated third party library illustration in readme. by @szemyd in #259
  • feature(Docs): Pipeline type now shows up in docs, added docstrings to Splitters by @almostintuitive in #260
  • feature(Project): added versioning fields by @almostintuitive in #261

New Contributors

Full Changelog: https://github.com/dream-faster/fold/commits/0.0.2