Saya menggunakan dekomposisi vektor singular pada sebuah matriks dan mendapatkan matriks U, S dan Vt. Pada titik ini, saya mencoba untuk memilih ambang batas untuk mempertahankan jumlah dimensi. Saya disarankan untuk melihat plot scree tetapi bertanya-tanya bagaimana cara merencanakannya dalam numpy. Saat ini, saya melakukan hal berikut menggunakan perpustakaan numpy dan scipy dengan python:
U, S, Vt = svd(A)
Ada saran?
@shabbychef: Maksud Anda, ambil jumlah kumulatif dan bagi dengan semua nilai, kan?
—
Legenda
Iya. Di matlab, itu akan menjadi
—
shabbychef
[U,S,V] = svd(X);S = cumsum(sort(diag(S).^2,1,'descend'));S = S ./ S(end);plot(S);
S
, jika belum menjadi diagonal, kuadratkan, urutkan dalam urutan menurun, ambil jumlah kumulatif, bagi dengan nilai terakhir, lalu plot.