Skip to content

Releases: eonu/sequentia

v0.12.0

11 May 11:08
Compare
Choose a tag to compare

Major changes

  • Rework preprocessing module (see #177). (#179)
    • Add Custom transformation.
    • Rename Preprocess to Compose.
    • Don't validate observation sequences after each transformation in Compose.
    • Remove progress bars and verbose parameter.
    • Stop unnecessarily copying each observation sequence before transformations.
    • Change transform() function on Transform objects to accept a single observation sequence.
    • Remove _apply() function on Transform objects.
    • Make _is_fitted() public on Transform objects (change to is_fitted()).
    • Use __str__ instead of _describe() for transformation descriptions.
  • Remove need to send DeepGRU to device explicitly, so we can now do DeepGRU(..., device=device) instead of DeepGRU(..., device=device).to(device). (#178)
  • Add dev, test, docs and notebooks extras. (#174)
  • Remove Equalize transform as it goes against the point of variable-length sequence classification. (#172)
  • Change TrimZeros transform to TrimConstants, allowing any constant-valued observation to be trimmed. (#172)
  • Add DeepGRU classifier implementation. (#169)
  • Add sequentia[torch] extra for optional torch CPU installation. (#169)

Minor changes

  • Keep batch lengths on CPU (pytorch/pytorch#43227). (#178)
  • Remove docs/requirements.txt and specify docs extra in .readthedocs.yml. (#176)
  • Move Sphinx extensions from docs/conf.py to requirements.py. (#176)
  • Bump development status classifier to beta. (#175)
  • Move package dependency specifications to requirements.py. (#174)
  • Add docs/README.md, notebooks/README.md and lib/test/README.md. (#174)
  • Update HMM classifier diagram. (#173)
  • Add build status to README.md. (#171)
  • Fix patch description in CONTRIBUTING.md. (#170)
  • Fix wording in README.md. (#167, #168)

v0.11.1

20 Mar 14:03
Compare
Choose a tag to compare

Major changes

  • Fix validation for univariate sequences. (#164)

Minor changes

  • Clean up README.md and add examples. (#165)
  • Clean up validation logical expressions. (#164)

v0.11.0

26 Jan 09:48
Compare
Choose a tag to compare

Major changes

  • Add trailing underscore to variables containing trainable parameters (see #154). (#158)
  • Add properties for GMM emission distribution parameters (see #153). (#156)
  • Add selective GMMHMM parameter freezing/unfreezing (see #150). (#155)
  • Fix random transition matrix initialization for _LeftRightTopology (see #149). (#151)

Minor changes

  • Add access to Baum-Welch algorithm convergence monitor (see #139). (#162)
  • Prefix _Validator functions with is_ (see #159). (#161)
  • Add validation for checking fitted parameters (see #157). (#160)
  • Clean up __repr__ for GMMHMM, HMMClassifier and KNNClassifier. (#160)
  • Add classifier documentation links to README.md. (#152)
  • Simplify random transition matrix initialization for _LinearTopology and _LeftRightTopology. (#151)

v0.10.3

16 Jan 13:54
Compare
Choose a tag to compare

Major changes

  • Fix setup.py encoding problem. (#145)
  • Add docs/robots.txt and sphinx-version-warning package to prevent search engines from indexing old package versions (see #143). (#147)

Minor changes

v0.10.2

07 Jan 11:19
Compare
Choose a tag to compare

Major changes

  • Add support for dependent feature warping (addresses #124). (#135)
  • Add multi-processed predictions for HMMClassifier (addresses #121). (#136)
  • Re-order predict() and evaluate() arguments. (#138)

Minor changes

  • Add original_labels documentation to KNNClassifier. (#133)
  • Simplify GMMHMM documentation. (#134)
  • Fix posterior comment in classifier.svg. (#137)

v0.10.1

31 Dec 13:04
Compare
Choose a tag to compare

Minor changes

  • Remove references to sigment. (#130)
  • Fix type specifiers in documentation (see #129). (#131)

v0.10.0

30 Dec 13:38
Compare
Choose a tag to compare

Major changes

  • Switch out pomegranate HMM backend to hmmlearn. (#105)
  • Remove separate HMM and GMM-HMM implementations – only keep a single GMM-HMM implementation (in the GMMHMM class) and treat multivariate Gaussian emission HMM as a special case of GMM-HMM. (#105)
  • Support string and numeric labels by using label encodings (from sklearn.preprocessing.LabelEncoder). (#105)
  • Add support for Python v3.6, v3.7, v3.8, v3.9 and remove support for v3.5. (#105)
  • Switch from approximate DTW algorithm (fastdtw) to exact implementation (dtaidistance) for KNNClassifier. (#106)

Minor changes

  • Switch to use duck-typing for iterables instead of requiring lists. (#105)
  • Rename 'strict left-right' HMM topology to 'linear'. (#105)
  • Switch m2r to m2r2, as m2r is no longer maintained. (#105)
  • Change covariance to covariance_type, to match hmmlearn. (#105)
  • Use numpy.random.RandomState(seed=None) as default instead of numpy.random.RandomState(seed=0). (#105)
  • Switch KNNClassifier serialization from HDF5 to pickling. (#106)
  • Use intersphinx for external documentation links, e.g. to numpy. (#108)
  • Change MinMaxScale bounds to floats. (#112)
  • Add __repr__ function to GMMHMM, HMMClassifier and KNNClassifier. (#120)
  • Use feature-independent warping (DTWI). (#121)
  • Ensure minimum Sakoe-Chiba band width is 1. (#126)
  • Add .readthedocs.yml configuration file. (#127)

v0.7.2

24 Aug 01:40
Compare
Choose a tag to compare

Major changes

  • Stop referring to sequences as temporal, as non-temporal sequences can also be used. (#103)

v0.7.1

21 May 21:04
Compare
Choose a tag to compare

Major changes

  • Fix deserialization for KNNClassifier. (#93)
    • Sort HDF5 keys before loading as numpy.ndarrays.
    • Pass weighting function into deserialization constructor.

v0.7.0

19 May 15:50
Compare
Choose a tag to compare

Major changes

  • Fix pomegranate version to v0.12.0. (#79)
  • Add serialization and deserialization support for all classifiers. (#80)
    • HMM, HMMClassifier: Serialized in JSON format.
    • KNNClassifier: Serialized in HDF5 format.
  • Finish preprocessing documentation and tests. (#81)
  • (Internal) Remove nested helper functions in KNNClassifier.predict(). (#84)
  • Add strict left-right HMM topology. (#85)
    Note: This is the more traditional left-right HMM topology.
  • Implement GMM-HMMs in the GMMHMM class. (#87)
  • Implement custom, uniform and frequency-based HMM priors. (#88)
  • Implement distance-weighted DTW-kNN predictions. (#90)
  • Rename DTWKNN to KNNClassifer. (#91)

Minor changes

  • (Internal) Simplify package imports. (#82)
  • (Internal) Add Validator.func() for validating callables. (#90)