randomized_range_finder#

sklearn.utils.extmath.randomized_range_finder(A, *, размер, n_iter, power_iteration_normalizer='auto', random_state=None)[источник]#

Вычислить ортонормированную матрицу, чье пространство приближает пространство A.

Параметры:
A{array-like, sparse matrix} формы (n_samples, n_features)

Входная матрица данных.

размерint

Размер возвращаемого массива.

n_iterint

Количество итераций по степеням, используемых для стабилизации результата.

power_iteration_normalizer{‘auto’, ‘QR’, ‘LU’, ‘none’}, по умолчанию=’auto’

Нормализуются ли степенные итерации с пошаговой QR-факторизацией (самый медленный, но наиболее точный), 'none' (самый быстрый, но численно неустойчивый, когда n_iter велико, например, обычно 5 или больше), или факторизация 'LU' (численно устойчива, но может немного терять в точности). Режим 'auto' не применяет нормализацию, если n_iter <= 2 и переключается на LU в противном случае.

Добавлено в версии 0.18.

random_stateint, экземпляр RandomState или None, по умолчанию=None

Сид псевдослучайного генератора чисел для использования при перемешивании данных, т.е. получения случайных векторов для инициализации алгоритма. Передайте целое число для воспроизводимых результатов при множественных вызовах функции. См. Глоссарий.

Возвращает:
Qndarray формы (size, size)

Матрица проекции, диапазон которой хорошо аппроксимирует диапазон входной матрицы A.

Примечания

Следует алгоритму 4.3 из «Поиск структуры с помощью случайности: Стохастические алгоритмы построения приближенных матричных разложений» Halko и др. (2009)

Реализация рандомизированного алгоритма для анализа главных компонент A. Szlam и др. 2014

Примеры

>>> import numpy as np
>>> from sklearn.utils.extmath import randomized_range_finder
>>> A = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
>>> randomized_range_finder(A, size=2, n_iter=2, random_state=42)
array([[-0.214,  0.887],
       [-0.521,  0.249],
       [-0.826, -0.388]])