* added hole to swiss roll and expanded example
* Fixed docstring for numpydoc validation
* Changed error from original docstring.
* Added test for swiss hole
Codecov check was failing because there was no test for the addition of the swisshole. I simply expanded the original test to include it.
* Formatting
* Revert "Formatting"
This reverts commit 727505b21b.
* Revert "Added test for swiss hole"
This reverts commit ae788641f1.
* Added test for Swiss Hole
* fixed test
* added changelog
* Set random state when creating the swiss roll in exampple.
* Set random state when creating the swiss hole in exampple.
* Changed test with reccommendation
* Apply suggestions from code review of plots.
Co-authored-by: Tom Dupré la Tour <tom.dupre-la-tour@m4x.org>
* Apply grammar and naming suggestions from code review
Co-authored-by: Tom Dupré la Tour <tom.dupre-la-tour@m4x.org>
* Defined LLE and t-SNE acronyms at beginning
* Linting
Co-authored-by: Tom Dupré la Tour <tom.dupre-la-tour@m4x.org>
* Support minimal dependencies in examples
* bins="auto" only supported for numpy >= 1.11
* viridis is default cmap in matplotlib 2
* Use signature instead of viridis cmap
Use a sparse matrix representation of the neighbors.
Re-factored the QuadTree implementation to avoid insertion errors.
Various fixes in the gradient descent schedule to get the Barnes Hut and exact solvers to behave more robustly and consistently.
The LDA accronym for Linear Discriminant Analysis is ambiguous
because of the newly introduced Latent Dirichlet Allocation model.
We therefore deprecate the sklearn.lda.LDA and sklearn.lda.QDA
in favor of explicit names.
* remove L-BFGS, gradient descent finds better visualizations (although the cost is often higher)
* learning_rate is a parameter
* learning schedule:
* initialize embedding with standard deviation 1
* 100 episodes with early exaggeration
* 20 iterations with momentum 0.5
* then switch to momentum 0.8
* default learning rate is 100, reasonable range is 100-500