0.0.2
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 whenrequires_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 toFold
,requires_continuous_updates
toTransformation.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
andupdate
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
tomemory_size
, added RollingMean, dropBaseline
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
andtraining_for_deployment
. by @szemyd in #186 - feature(Utils): added optional
resample
parameter toget_preprocessed_dataset()
by @almostintuitive in #187 - refactor(Project): use the words
pipeline
andtrained_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 mutatingX
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 fromtqdm.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
totrain_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
tofold-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 duringfit()
andupdate()
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
- @almostintuitive made their first contribution in #1
- @szemyd made their first contribution in #31
Full Changelog: https://github.com/dream-faster/fold/commits/0.0.2