2013-03-27 15 views
5

mam X jako csr_matrix że uzyskano stosując scikit za tfidf Vectorizer i Y, który jest tablicąJak zainicjalizować zmienną gensim corpus za pomocą csr_matrix?

Mój plan jest stworzenie możliwości z wykorzystaniem LDA, jednak nie udało mi się znaleźć sposób, aby zainicjować zmienną corpus danej gensim na literę X jako csr_matrix. Innymi słowy, nie chcę pobierać korpusu, jak pokazano w dokumentacji gensim, ani konwertować X na gęstą matrycę, ponieważ pochłaniałoby to dużo pamięci i komputer mógł się zawiesić.

Krótko mówiąc, moje pytania są następujące,

  1. Jak zainicjować corpus gensim zważywszy, że mam csr_matrix (rzadki) reprezentujący cały korpus?
  2. Jak korzystać z LDA do wyodrębniania funkcji?
+0

Czy możemy również przekazać macierz częstotliwości do tej metody również? – Shashank

Odpowiedz

7

Gensim posiada częściowo dobrze ukryte funkcje, które można rodzaj to zrobić dla Ciebie:

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

„gensim.matutils.Sparse2Corpus klasa (rzadkie, documents_columns = True) Konwertowanie matryca w formacie scipy.sparse do streamingu Gensim Corpus. "

Udało mi się to z użyciem korpusu wyodrębnionego za pomocą CountVectorizera, a następnie załadowanego do gensim.

+0

Dzięki milionowi @Fred, zadziałało jak czar! – Curious