将 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 个条目

小批量的 Scikit-learn tfidf 矢量化器?

如何使用 scikit-learn 对文本对进行分类?

使用 TfidfVectorizer 和 Scikit-learn 的 TF-IDF 与 SVM 的低准确度

scikit-learn,将特征添加到矢量化文档集

使用 scikit-learn 进行文本分类:如何从 pickle 模型中获取新文档的表示