scikit-learn/sklearn/manifold
Peter Fischer 6cb51b2a28 Initialize ARPACK eigsh
`v0 = random_state.rand(M.shape[0])` leads to an initial residual vector in ARPACK which is all positive. However, this is not the absolute or squared residual, but a true difference. Thus, it is better to initialize with `v0=random_state.uniform(-1, 1, M.shape[0])` to have an equally distributed sign. This is the way that ARPACK initializes the residuals.
The effect of the previous initialization is that eigsh frequently does not converge to the correct eigenvalues, e.g. negative eigenvalues for s.p.d. matrix, which leads to an incorrect null-space.

- initialized all occurences of sklearn.utils.arpack.eigsh the same way it would be initialzed by ARPACK
- regression test to test behavior of new initialization
2015-10-23 08:57:30 +02:00
..
tests Merge pull request #5443 from AlexandreAbraham/optimize_graph_is_connected 2015-10-19 17:06:30 +02:00
__init__.py Add t-SNE 2014-05-28 19:51:08 +02:00
_barnes_hut_tsne.c Minor fixes, remove transform for now. 2015-09-11 13:23:57 -04:00
_barnes_hut_tsne.pyx Minor fixes, remove transform for now. 2015-09-11 13:23:57 -04:00
_utils.c Minor fixes, remove transform for now. 2015-09-11 13:23:57 -04:00
_utils.pyx FEAT Barnes-Hut t-SNE 2015-09-11 13:19:15 -04:00
isomap.py DOC adding backlinks to docstrings 2015-06-03 00:24:04 -04:00
locally_linear.py Initialize ARPACK eigsh 2015-10-23 08:57:30 +02:00
mds.py DOC adding backlinks to docstrings 2015-06-03 00:24:04 -04:00
setup.py add necessary blas files. 2015-09-11 13:19:15 -04:00
spectral_embedding_.py Initialize ARPACK eigsh 2015-10-23 08:57:30 +02:00
t_sne.py Minor fixes, remove transform for now. 2015-09-11 13:23:57 -04:00