Ich verwende eine singuläre Vektorzerlegung auf einer Matrix und erhalte die U-, S- und Vt-Matrizen. An dieser Stelle versuche ich, einen Schwellenwert für die Anzahl der beizubehaltenden Dimensionen auszuwählen. Mir wurde vorgeschlagen, mir ein Geröllplot anzusehen, aber ich frage mich, wie ich es in Numpy planen soll. Derzeit mache ich Folgendes mit numpy und scipy Bibliotheken in Python:
U, S, Vt = svd(A)
Irgendwelche Vorschläge?
[U,S,V] = svd(X);S = cumsum(sort(diag(S).^2,1,'descend'));S = S ./ S(end);plot(S);
S
, wenn es noch keine Diagonale ist, quadrieren Sie sie, sortieren Sie sie in absteigender Reihenfolge, nehmen Sie die kumulative Summe, dividieren Sie durch den letzten Wert und zeichnen Sie sie dann auf.