Ich würde gerne die SVD-Methode reproduzieren, die in einer Standford-Vorlesung über meinen eigenen Datensatz erwähnt wurde. Der Schieber des Vortrags ist, wie folgendPython Kernel tot bei SVD auf einer spärlichen symmetrischen Matrix
Mein-Datenmenge ist vom gleichen Typ, der ein Wort Kookkurrenzmatrix M mit einer Größe von
<13840x13840 sparse matrix of type '<type 'numpy.int64'>'
with 597828 stored elements in Compressed Sparse Column format>
erzeugt und verarbeitet von CountVectorizer(), beachte, dass dies eine symmetrische Matrix ist.
Allerdings, wenn ich versuchte Funktionen von SVD zu extrahieren, jedoch keines der folgenden Code funktioniert,
1. Versuch:
scipy.linalg.svd(M)
ich die Matrix aus spärlichen csr todense versucht haben() und toarray(), nahm mein Computer ein paar Minuten und es zeigt Kernel stoppt. Ich spielte auch um mit unterschiedlichen Parametereinstellungen
2. Versuch:
scipy.sparse.linalg.svds(M)
Ich habe auch versucht, den Matrix-Typen von int64 zu ändern FLOAT64 jedoch der Kernel tot nach 30 Sekunden oder so.
Jeder könnte mir einen Weg vorschlagen, SVD auf dieser Matrix in irgendeiner Weise durchzuführen?
Vielen Dank
tatsächlich, nachdem ich das dask-Paket installiert habe, wird der obige Code viel schneller, auch wenn ich keine DASK-SVD-Funktion verwende. Irgendwelche Gedanken warum? – FF0605
@ FF0605 vielleicht hat es die blas/lapack/mkl stuff aktualisiert – Y0da