Skip to content

Releases: ContextLab/hypertools

v0.4.0 (October 2017)

12 Oct 21:37
Compare
Choose a tag to compare

Enhancements -

  • A new class: DataGeometry with methods for plotting, transforming new data and saving
    Support for loading *.geo objects
  • A new function: analyze to perform combinations of transformations
  • A new function: describe for characterizing the loss of information due to dimensionality reduction algs
  • In-memory caching of time-intensive reduce, align and describe operations
  • New syntax for reduce function: model and model_params are now passed as a dictionary using the reduce arg
  • New clustering models added to the cluster function: MiniBatchKMeans, AgglomerativeClustering, Birch, FeatureAgglomeration, and SpectralClustering
  • Moved major functions (normalize, align, reduce, cluster, load) to main level (i.e. hyp.load instead of hyp.tools.load, but the latter will still work)

Deprecations -

  • A deprecation warning is thrown for the following align arguments: normalize, ndims, and method
  • A deprecation warning is thrown for the following reduce arguments: model, model_params, align, and normalize
  • A deprecation warning is thrown for the following cluster arguments: ndims
  • A deprecation warning is thrown for the describe_pca function (replaced by describe)

Bugs -

  • fixed #148 bug in hyp.plot where figure would be rendered despite setting show=False (thanks @chaseWilliams !)
  • fixed a bug where n_clusters would not override group, even though a warning message said it would
  • fixed a bug where hyp.plot would quit if any kwargs were not the same length as the number of arrays in the list of input data.

Minor -

  • added brainiak toolbox citation and github link to align.py docstring
  • added additional details and fixed typos in align.py docstring
  • Upgraded seaborn requirement to 8.1
  • updated all examples/docs with new syntax changes
  • added new tests for new features

v0.3.1 (August 2017)

11 Aug 20:46
Compare
Choose a tag to compare
  • suppress warning when attempting to switch to TkAgg backend

v0.3.0 (June 2017)

14 Jun 14:21
Compare
Choose a tag to compare

This release extends hypertools to support the following dimensionality reduction / manifold learning models:

  • PCA
  • FastICA
  • IncrementalPCA
  • KernelPCA
  • FactorAnalysis
  • TruncatedSVD
  • SparsePCA
  • MiniBatchSparsePCA
  • DictionaryLearning
  • MiniBatchDictionaryLearning
  • TSNE
  • MDS
  • SpectralEmbedding
  • LocallyLinearEmbedding
  • Isomap

The default reduction algorithm was switched from PCA to IncrementalPCA for better handling of large datasets.

Bugs squashed:

  • fixed plot_procrustes example so that rotation matrix is orthonormal

v0.2.1 (June 2017)

05 Jun 13:49
Compare
Choose a tag to compare

The work for this update was done during the Mozilla Global Sprint 2017. Thank you @alysivji and @rarredon for your contributions! Thanks @stephwright and the Mozilla Open Science Team for organizing an awesome event!

New Features:

  • If legend is not explicitly given, it can be computed implicitly by passing legend=True
  • Align flag added to hyp.plot function
  • Align flag added to hyp.tools.reduce function
  • Reduce flag added to hyp.tools.align and hyp.tools.procrustes functions
  • Align and reduce flags added to hyp.tools.load function
  • Updated examples with new syntax

Bugs Squashed:

  • Fixed import bug for saving animations
  • Fixed bug in align function where an extra column(s) of zeros were appended to data before alignment if ndims<=2

v0.2.0 (May 2017)

31 May 21:53
Compare
Choose a tag to compare

new features, new code organization and also some style changes!

Key changes:

  • The way we handle args. Now, all keywords are handled explicitly, instead of unpacking them using the **kwargs syntax. This makes the code much cleaner, and easier to parse arguments.

  • The organization of the plotting code. I eliminated the separate static and animate code bases, bc there was a lot of redundant code and handling args was a mess. its now organized into a plot function, which is the main plotting function that also handles data manipulation prior to plotting, and a draw function, which handles all static and animated drawing.

  • Plot styling. All styles are now consistent, the static plots are now the same as the animated plots. Also, all lines/points are thinner.

  • New keyword arguments to the plot function:
    +fmt in 0.1.0, format strings were handled as arguments, but now they are passed as a kwarg. since the fmt kwarg is the first param after the data, the API in 0.1 and 0.2 is the same, except in 0.1 format strings could be passed in any position, and now they must be passed immediately after the data.
    +title can be passed to add a title to the plot
    +elev can be passed to change the elevation of the plot. useful for static plots in jupyter notebooks
    +azim can be passed to change the azimuth of a plot. useful for static plots in jupyter notebooks
    +precog is an animation only feature which plots a low-opacity trace ahead of the data (similar to chemtrails but in the opposite direction.
    +bullettime (animation only) is the same as the combinations of precog and chemtrails
    +animate='spin' will create a "static" plot (i.e. all the data is plotted at once) that rotates
    +return_data has been eliminated. the data is now always returned by default

Minor changes:

  • changed 'weights' example data from 3D numpy array to list of 2D numpy arrays
  • updated examples for new 'weights' data format
  • remove docs _build folder from repo
  • added requests to setup.py file
  • remove rogue class from init file

Bugs fixed:

if the rank is of the input matrix is smaller than the number of dimensions requested, the reduce function will now pad the reduced data matrix with ndims-rank columns of zeros.

v0.1.7 (April 2017)

17 Apr 19:30
Compare
Choose a tag to compare

Enhancements:

  • added load function to load in example data
  • moved example data out of repo to google drive

Bugs squashed:

  • added missing import sys statement to helpers.py
  • fixed bug with in example scripts dealing with missing data
  • fixed bug that caused software to crash when using PPCA
  • fixed bug in readthedocs build caused by empty toctree

v0.1.6 (February 2017)

23 Feb 21:51
Compare
Choose a tag to compare
  • fixed bug where group kwarg caused code to crash on some systems
  • fixed bug where requirements still listed matplotlib <2.0, even though it is supported
  • patched bug where tail_duration would crash if not an integer value
  • added warning to align function when n features exceeds n samples

v0.1.5 (February 2017)

06 Feb 13:46
Compare
Choose a tag to compare
  • Added support for maplotlib 2.0
  • Added future package to setup.py so its automatically installed

v0.1.4 (February 2017)

06 Feb 00:33
Compare
Choose a tag to compare
  • Support for Python 3.4+

v0.1.3 (February 2017)

03 Feb 18:29
Compare
Choose a tag to compare

Bugs fixed:

  • patched bug where future division was not being imported into align, procrustes and srm functions
  • fixed bug where category labels could be returned out of order because of set