2013-03-27 12 views
5

Ho X come csr_matrix che ho ottenuto usando TFIDF vectorizer di scikit, ed y, che è un arrayCome si inizializza una variabile di gensim corpus con una csr_matrix?

Il mio piano è quello di creare funzioni utilizzando LDA, tuttavia, non sono riuscito a trovare il modo di inizializzare variabili corpus di un gensim con X come csr_matrix. In altre parole, non voglio scaricare un corpus come mostrato nella documentazione di gensim né convertire X in una matrice densa, dal momento che consumerebbe molta memoria e il computer potrebbe bloccarsi.

In breve, le mie domande sono le seguenti,

  1. Come si inizializza un corpus gensim dato che ho un csr_matrix (sparse) che rappresenta l'intero corpus?
  2. Come utilizzare LDA per estrarre le funzionalità?
+0

Possiamo anche passare la matrice di frequenza del termine anche a questo metodo? – Shashank

risposta

7

Gensim ha una funzione-ben nascosto semi che può tipo di fare questo per voi:

http://radimrehurek.com/gensim/matutils.html#gensim.matutils.Sparse2Corpus

"gensim.matutils.Sparse2Corpus classe (sparse, documents_columns = True) convertire un matrice in formato scipy.sparse in un corpo gensim in streaming. "

Ho avuto qualche successo con esso utilizzando un corpus estratto con CountVectorizer, quindi caricato in gensim.

+0

Grazie a milioni @Fred, ha funzionato come un fascino! – Curious

Problemi correlati