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?
data-visualization
python
svd
Legenda
sumber
sumber
S
, jika belum menjadi diagonal, kuadratkan, urutkan dalam urutan menurun, ambil jumlah kumulatif, bagi dengan nilai terakhir, lalu plot.[U,S,V] = svd(X);S = cumsum(sort(diag(S).^2,1,'descend'));S = S ./ S(end);plot(S);
Jawaban:
Berikut ini adalah contoh yang dapat disisipkan ke prompt IPython dan menghasilkan gambar seperti di bawah ini (menggunakan data acak):
sumber
num_vars
? sepertinya tidak didefinisikan dalam skrip Anda.