隨機範圍查找器#

sklearn.utils.extmath.randomized_range_finder(A, *, size, n_iter, power_iteration_normalizer='auto', random_state=None)[原始碼]#

計算一個正交矩陣,其範圍近似於 A 的範圍。

參數:
A二維陣列

輸入資料矩陣。

size整數

返回陣列的大小。

n_iter整數

用於穩定結果的冪迭代次數。

power_iteration_normalizer{‘auto’, ‘QR’, ‘LU’, ‘none’}, 預設值=’auto’

是否使用逐步 QR 因式分解(最慢但最準確)、‘none’(最快但當 n_iter 很大時,例如通常為 5 或更大時,數值不穩定)或 ‘LU’ 因式分解(數值穩定但可能會稍微降低準確性)來正規化冪迭代。「auto」模式在 n_iter <= 2 時不應用任何正規化,否則會切換到 LU。

於 0.18 版本新增。

random_state整數、RandomState 實例或 None,預設值=None

用於對資料進行洗牌時使用的偽隨機數產生器的種子,即取得隨機向量以初始化演算法。傳遞整數可在多個函數呼叫之間產生可重現的結果。請參閱詞彙表

返回:
Qndarray

一個 (size x size) 的投影矩陣,其範圍很好地近似於輸入矩陣 A 的範圍。

注意事項

遵循 Halko 等人 (2009) 在《使用隨機性尋找結構:用於構建近似矩陣分解的隨機演算法》 中的演算法 4.3。

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.21...,  0.88...],
       [-0.52...,  0.24...],
       [-0.82..., -0.38...]])