Releases: ContextLab/hypertools
v0.3.1 (August 2017)
- suppress warning when attempting to switch to
TkAgg
backend
v0.3.0 (June 2017)
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)
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
andhyp.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)
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)
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)
- 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)
- Added support for maplotlib 2.0
- Added future package to setup.py so its automatically installed
v0.1.4 (February 2017)
- Support for Python 3.4+
v0.1.3 (February 2017)
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
v0.1.2 (February 2017)
changes:
- added docstrings to all public functions
- added sphinx-generated documentation of API with examples
- modified the examples so they are compatible with sphinx-gallery
- simplified readme
bugs fixed:
- patched bug where matplotlib 2.0 could be used (working on this for next release)
- patched bug where procrustes function uses dimensionality reduction during alignment by default