sklearn.utils.extmath
.randomized_range_finder¶
-
sklearn.utils.extmath.
randomized_range_finder
(A, *, size, n_iter, power_iteration_normalizer='auto', random_state=None)[source]¶ Computes an orthonormal matrix whose range approximates the range of A.
- Parameters
- A2D array
The input data matrix
- sizeinteger
Size of the return array
- n_iterinteger
Number of power iterations used to stabilize the result
- power_iteration_normalizer‘auto’ (default), ‘QR’, ‘LU’, ‘none’
Whether the power iterations are normalized with step-by-step QR factorization (the slowest but most accurate), ‘none’ (the fastest but numerically unstable when
n_iter
is large, e.g. typically 5 or larger), or ‘LU’ factorization (numerically stable but can lose slightly in accuracy). The ‘auto’ mode applies no normalization ifn_iter
<= 2 and switches to LU otherwise.New in version 0.18.
- random_stateint, RandomState instance or None, optional (default=None)
The seed of the pseudo random number generator to use when shuffling the data, i.e. getting the random vectors to initialize the algorithm. Pass an int for reproducible results across multiple function calls. See Glossary.
- Returns
- Q2D array
A (size x size) projection matrix, the range of which approximates well the range of the input matrix A.
Notes
Follows Algorithm 4.3 of Finding structure with randomness: Stochastic algorithms for constructing approximate matrix decompositions Halko, et al., 2009 (arXiv:909) https://arxiv.org/pdf/0909.4061.pdf
An implementation of a randomized algorithm for principal component analysis A. Szlam et al. 2014