问题
I've used various versions of TFIDF in scikit learn to model some text data.
vectorizer = TfidfVectorizer(min_df=1,stop_words='english')
The resulting data X is in this format:
<rowsxcolumns sparse matrix of type '<type 'numpy.float64'>'
with xyz stored elements in Compressed Sparse Row format>
I wanted to experiment with LDA as a way to do reduce dimensionality of my sparse matrix. Is there a simple way to feed the NumPy sparse matrix X into a gensim LDA model?
lda = models.ldamodel.LdaModel(corpus=corpus, id2word=dictionary, num_topics=100)
I can ignore scikit and go the way the gensim tutorial outlines, but I like the simplicity of the scikit vectorizers and all of its parameters.
回答1:
http://radimrehurek.com/gensim/matutils.html
class gensim.matutils.Sparse2Corpus(sparse, documents_columns=True)
Convert a matrix in scipy.sparse format into a streaming gensim corpus.
来源:https://stackoverflow.com/questions/19504898/use-scikit-learn-tfidf-with-gensim-lda