将 scikit-learn TfIdf 与 gensim LDA 一起使用
Posted
技术标签:
【中文标题】将 scikit-learn TfIdf 与 gensim LDA 一起使用【英文标题】:Use scikit-learn TfIdf with gensim LDA 【发布时间】:2013-10-30 13:23:08 【问题描述】:我在 scikit learn 中使用了各种版本的 TFIDF 来对一些文本数据进行建模。
vectorizer = TfidfVectorizer(min_df=1,stop_words='english')
结果数据 X 采用以下格式:
<rowsxcolumns sparse matrix of type '<type 'numpy.float64'>'
with xyz stored elements in Compressed Sparse Row format>
我想尝试使用 LDA 来降低稀疏矩阵的维数。 有没有一种简单的方法可以将 NumPy 稀疏矩阵 X 输入到 gensim LDA 模型中?
lda = models.ldamodel.LdaModel(corpus=corpus, id2word=dictionary, num_topics=100)
我可以忽略 scikit 并按照 gensim 教程概述的方式进行操作,但我喜欢 scikit 矢量化器及其所有参数的简单性。
【问题讨论】:
【参考方案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.
【讨论】:
以上是关于将 scikit-learn TfIdf 与 gensim LDA 一起使用的主要内容,如果未能解决你的问题,请参考以下文章
如何在 scikit-learn 中的 tfidf 之后查看术语文档矩阵的前 n 个条目