Toggle Menu
Prev Up Next

scikit-learn 1.3.2
Other versions

Please cite us if you use the software.

# `sklearn.utils.extmath`.randomized_range_finder

sklearn.utils.extmath.randomized_range_finder(A, *, size, n_iter, power_iteration_normalizer='auto', random_state=None)

  Compute an orthonormal matrix whose range approximates the range of A.

  Parameters:
    A 2D array

      The input data matrix.

    size int

      Size of the return array.

    n_iter int

      Number of power iterations used to stabilize the result.

    power_iteration_normalizer{‘auto’, ‘QR’, ‘LU’, ‘none’}, default=’auto’

      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 if `n_iter` <= 2 and switches to LU otherwise.

      New in version 0.18.

    random_state int, RandomState instance or None, 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:
    Q ndarray

      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)

  An implementation of a randomized algorithm for principal component analysis A. Szlam et al. 2014