Recent Releases of https://github.com/predict-idlab/tsflex
https://github.com/predict-idlab/tsflex - v0.4.1
What's Changed
- :recycle: improve QOL with mypy by @jvdd in https://github.com/predict-idlab/tsflex/pull/120
- :arrow_up: update pycatch22 by @jvdd in https://github.com/predict-idlab/tsflex/pull/122
- Update dependencies by @jvdd in https://github.com/predict-idlab/tsflex/pull/123
- Update deps ctd. by @jvdd in https://github.com/predict-idlab/tsflex/pull/124
- :bug: check for None before setting
n_jobsto nb logical CPUs by @jvdd in https://github.com/predict-idlab/tsflex/pull/126 - :pray: not writeable strided for vectorized by @jvdd in https://github.com/predict-idlab/tsflex/pull/128
- :arrow_up: update dependencies by @jvdd in https://github.com/predict-idlab/tsflex/pull/130
Full Changelog: https://github.com/predict-idlab/tsflex/compare/v0.4.0...v0.4.1
- Python
Published by jonasvdd over 1 year ago
https://github.com/predict-idlab/tsflex - v0.4.0
New features
Now you can utilize the FeatureCollection.calculate method to compute feature based on group ids.
Specifically, 2 arguments wre atted to this FeatureCollection.calculate method:
-
group_by_all: creates groups that contains all rows corresponding to the group value- Note that this is +/- identical as passing df.groupby(groupbyall) as data to the .calculate method -> (which is now also a valid input for the data argument)
-
group_by_consecutive: creates groups that contain consecutive rows for the group value
Note: Both grouped feature extraction approaches ignore NaNs in the group_by column.
Curious? :Look at our verbose example notebook - grouping feature extraction
What's Changed
- ๐ improving loggers as described in #66 by @jonasvdd in https://github.com/predict-idlab/tsflex/pull/73
- :broom: some necessary maintenance by @jvdd in https://github.com/predict-idlab/tsflex/pull/80
- :wood: log % duration + output_names for FeatureCollection by @jvdd in https://github.com/predict-idlab/tsflex/pull/83
- :sparkles: validate integration with antropy by @jvdd in https://github.com/predict-idlab/tsflex/pull/88
- :tada: validate nolds integration by @jvdd in https://github.com/predict-idlab/tsflex/pull/94
- ใฐ๏ธ remove isort and use ruff instead by @jvdd in https://github.com/predict-idlab/tsflex/pull/99
- :arrow_up: support Python 3.11 by @jvdd in https://github.com/predict-idlab/tsflex/pull/87
- :tada: validate pyentrp integration by @jvdd in https://github.com/predict-idlab/tsflex/pull/95
- :bug: support functools.partial by @jvdd in https://github.com/predict-idlab/tsflex/pull/104
- ๐ท build: create codeql.yml by @NielsPraet in https://github.com/predict-idlab/tsflex/pull/106
- Build/codspeed setup by @NielsPraet in https://github.com/predict-idlab/tsflex/pull/107
- :arrow_up: update antropy dependency + disable py 3.7 tests by @jvdd in https://github.com/predict-idlab/tsflex/pull/108
- :arrow_up: update dependencies by @jvdd in https://github.com/predict-idlab/tsflex/pull/111
- โจ feat: Feature extraction with an identifier by @NielsPraet in https://github.com/predict-idlab/tsflex/pull/109
- :arrow_up: soften pandas lock by @jvdd in https://github.com/predict-idlab/tsflex/pull/115
- :rocket: Python 3.12 support by @jvdd in https://github.com/predict-idlab/tsflex/pull/116
New Contributors
- @NielsPraet made their first contribution in https://github.com/predict-idlab/tsflex/pull/106
Full Changelog: https://github.com/predict-idlab/tsflex/compare/v0.3.0...v0.4.0
- Python
Published by jonasvdd almost 2 years ago
https://github.com/predict-idlab/tsflex - tsflex v0.3.0
What's Changed
- :goalnet: update makerobust by @jvdd in https://github.com/predict-idlab/tsflex/pull/45
- :art: Update examples by @jvdd in https://github.com/predict-idlab/tsflex/pull/46
- ๐จ series_pipeline insert & append is more compose-like by @jonasvdd in https://github.com/predict-idlab/tsflex/pull/47
- :pushpin: Update dependencies by @jvdd in https://github.com/predict-idlab/tsflex/pull/48
- :seenoevil: minor bug fix in make_robust by @jvdd in https://github.com/predict-idlab/tsflex/pull/52
- :ambulance: Fix windows bug by @jvdd in https://github.com/predict-idlab/tsflex/pull/53
- :ambulance: update critical depencies by @jvdd in https://github.com/predict-idlab/tsflex/pull/55
- :sparkles: vectorized feature function support by @jvdd in https://github.com/predict-idlab/tsflex/pull/58
- [MRG] Remove deprecated closed argument in pd.daterange by @jeroenboeye in https://github.com/predict-idlab/tsflex/pull/64
- :bug: fix bug with bound_method + :sparkles: new integrations by @jvdd in https://github.com/predict-idlab/tsflex/pull/62
- :recycle: improve output indexing by @jvdd in https://github.com/predict-idlab/tsflex/pull/68
- :crayon: improve the
make_robust docsby @jonasvdd in https://github.com/predict-idlab/tsflex/pull/72 - :sparkles: decouple stride + support setpoints by @jvdd in https://github.com/predict-idlab/tsflex/pull/74
- :recycle: refactor indexing + :scissors: decouple stride & window + :sparkles: support segment idxs by @jvdd in https://github.com/predict-idlab/tsflex/pull/71
Major changes
Updates on the output indexing
:scissors: Decoupling of stride & window from FeatureDescriptors
- Both argments are now optional.
- The stride can now also be a list of stride values
:sparkles: Support segment indexes
- Users can now add their start & end segment indexes to the
FeatureCollection.calculatemethod - allowing even more flexible feature extraction :wink:
Full Changelog: https://github.com/predict-idlab/tsflex/compare/v0.2.3...v0.3
DISCLAIMER: this release was already published some months ago (11 Oct, 2022) on pypi.
Our apologies for the late tag + release on GitHub.
- Python
Published by jvdd almost 3 years ago
https://github.com/predict-idlab/tsflex - tsflex v0.2.3
โ See also: tsflex v0.2.2 which is even more ๐ฅ than this one
New features
๐ Next to the tsfresh integrations, tsflex's feature extraction now fully integrates with seglearn and tsfel โฌ๏ธ
```python from seglearn.featurefunctions import basefeatures from tsfel.featureextraction import getfeaturesbydomain
from tsflex.features import FeatureCollection, MultipleFeatureDescriptors from tsflex.features.integrations import seglearnfeaturedictwrapper, tsfelfeaturedictwrapper from tsflex.utils.data import loadempaticadata
Load sequence-indexed data (in this case a time-index)
dftmp, dfacc = loadempaticadata(['tmp', 'acc'])
Construct your feature extraction configuration & extract features
fc = FeatureCollection( MultipleFeatureDescriptors( functions=[ *seglearnfeaturedictwrapper(basefeatures()), *tsfelfeaturedictwrapper(getfeaturesbydomain('statistical')), ], seriesnames=["TMP", "ACCx", "ACC_y"], windows=["5min", "15min"], strides="5min" ) )
fc.calculate(data=[dftmp, dfacc], return_df=True) ```
Changes
๐ The FeatureCollection.calculcate it's feauture-DataFrame output now has a determenistic column order see - #40
- Python
Published by jonasvdd over 4 years ago
https://github.com/predict-idlab/tsflex - tsflex v0.2.2
New features
- ๐ฅ Now also supports feature-extraction on numeric-index data (and thus not only time-based data)
- ๐ Seamless integration with
tsfresh, check out the example below: ```python from tsfresh.feature_extraction import MinimalFCParameters; import scipy.stats as ss
from tsflex.features import FeatureCollection, MultipleFeatureDescriptors from tsflex.features.integrations import tsfreshsettingswrapper from tsflex.utils.data import loadempaticadata
Load sequence-indexed data (in this case a time-index)
dftmp, dfacc = loadempaticadata(['tmp', 'acc'])
Construct your feature extraction configuration & extract features
fc = FeatureCollection( MultipleFeatureDescriptors( functions=tsfreshsettingswrapper(MinimalFCParameters()) + [ss.skew], seriesnames=["TMP", "ACCx", "ACC_y"], windows=["5min", "15min"], strides="5min" ) )
fc.calculate(data=[dftmp, dfacc], return_df=True) ``` * โก Optimized strided-rolling feature-extraction, see the newly generated benchmark โฌ๏ธ

- Added FeatureCollection.reduce() which comes in really handy when feature selection is performed in your machine-learning pipeline
- ๐ป chunk_data() now also supports DataFrame-dicts as input, which can be more convenient when having DataFrames with a lot of columns for which you want to specify the sample-frequencies.
- ๐ป SeriesPipeline is now more compose-like as it now accepts SeriesPipeline instances
Changes
- ๐งต Changed pathos โก๏ธ multiprocess as multiprocessing back-end
- ๐ง Moved the
bound_methodargument to FeatureCollection.calculate() - ๐ Rewrote strided-rolling back-end in a more OO manner (introduced the segmenter module), which complies with our roadmap of providing more segmenting functionality
- Python
Published by jonasvdd over 4 years ago