J'utilise la décomposition vectorielle singulière sur une matrice et j'obtiens les matrices U, S et Vt. À ce stade, j'essaie de choisir un seuil pour le nombre de dimensions à conserver. On m'a suggéré de regarder un tracé d'éboulis, mais je me demande comment s'y prendre pour le tracer en numpy. Actuellement, je fais ce qui suit en utilisant les bibliothèques numpy et scipy en python:
U, S, Vt = svd(A)
Aucune suggestion?
[U,S,V] = svd(X);S = cumsum(sort(diag(S).^2,1,'descend'));S = S ./ S(end);plot(S);
S
, si ce n'est pas déjà une diagonale, la mettre au carré, la trier par ordre décroissant, prendre la somme cumulée, diviser par la dernière valeur, puis la tracer.