randomized_range_finder#
- sklearn.utils.extmath.randomized_range_finder(A, *, size, n_iter, power_iteration_normalizer='auto', random_state=None)[Quellcode]#
Berechnet eine orthonormale Matrix, deren Bereich den Bereich von A annähert.
- Parameter:
- A{array-like, sparse matrix} der Form (n_samples, n_features)
Die Eingabedatenmatrix.
- sizeint
Größe des Rückgabe-Arrays.
- n_iterint
Anzahl der Potenziterationen, die zur Stabilisierung des Ergebnisses verwendet werden.
- power_iteration_normalizer{‘auto’, ‘QR’, ‘LU’, ‘none’}, Standard=’auto’
Ob die Potenziterationen mit schrittweiser QR-Zerlegung (am langsamsten, aber am genauesten), 'none' (am schnellsten, aber numerisch instabil bei großem
n_iter, z. B. typischerweise 5 oder größer) oder LU-Zerlegung (numerisch stabil, kann aber leicht an Genauigkeit verlieren) normalisiert werden. Der Modus 'auto' wendet keine Normalisierung an, wennn_iter<= 2 ist, und wechselt andernfalls zu LU.Hinzugefügt in Version 0.18.
- random_stateint, RandomState-Instanz oder None, default=None
Der Seed des Pseudo-Zufallszahlengenerators, der zum Mischen der Daten verwendet wird, d. h. zum Erzeugen der Zufallsvektoren zur Initialisierung des Algorithmus. Geben Sie eine Ganzzahl an, um reproduzierbare Ergebnisse über mehrere Funktionsaufrufe hinweg zu erzielen. Siehe Glossary.
- Gibt zurück:
- Qndarray der Form (size, size)
Eine Projektionsmatrix, deren Bereich gut den Bereich der Eingabematrix A approximiert.
Anmerkungen
Folgt Algorithmus 4.3 von „Finding structure with randomness: Stochastic algorithms for constructing approximate matrix decompositions” Halko, et al. (2009)
Eine Implementierung eines randomisierten Algorithmus für die Hauptkomponentenanalyse A. Szlam et al. 2014
Beispiele
>>> 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]])