gpt4 book ai didi

python - 在 TF-IDF 矩阵上计算 SVD

转载 作者:行者123 更新时间:2023-12-05 03:10:02 24 4
gpt4 key购买 nike

我想对 TF-IDF 矩阵执行奇异值分解。但是 TF-IDF 矩阵给了我这样的东西(术语索引,分数):

[(1,0.2) , (2,0.3) , (6,0.1) ...]
[(3,0.2) , (5,0.3) , (10,0.1) ...]

因此代码 u,s,v = svd(corpus_tfidf) 将无法在其上运行。我想要一个只有分数而不是术语索引的 TF-IDF 矩阵。

我是这样计算 TF-IDF 的:

tfidf = models.TfidfModel(corpus)
corpus_tfidf=tfidf[corpus]

最佳答案

如果您使用 gensim 生成 tfidf,则可以使用 matutils 将您的 tfidf 表示转换为密集的 numpy ndarray,反之亦然。

from gensim import matutils
tfidf_dense = matutils.corpus2dense(corpus_tfidf, num_terms).T

其中 num_terms 是您的语料库中的一些独特术语。可以这样计算:

num_terms = len(corpus_tfidf.obj.idfs)

关于python - 在 TF-IDF 矩阵上计算 SVD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41320433/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com