Bir matris üzerinde tekil vektör ayrışımı kullanıyorum ve U, S ve Vt matrislerini elde ediyorum. Bu noktada, elde edilecek boyutların sayısı için bir eşik seçmeye çalışıyorum. Bir dağ eteğindeki arsa bakmak için teklif edildi ama numpy çizme hakkında gitmek nasıl merak ediyorum. Şu anda, python numpy ve scipy kütüphaneleri kullanarak aşağıdakileri yapıyorum:
U, S, Vt = svd(A)
Herhangi bir öneri?
@shabbychef: Yani, toplamı al ve tüm değerlerin toplamına böl, doğru mu?
—
Efsane
Evet. Matlab, olurdu
—
shabbychef
[U,S,V] = svd(X);S = cumsum(sort(diag(S).^2,1,'descend'));S = S ./ S(end);plot(S);
S
, eğer zaten bir diyagonal değilse, onu kare, azalan düzende sırala, kümülatif toplamı al, son değere böl, sonra çiz.