猿问

在pyton 2.7中计算TF-IDF(用三行代码)。这段代码有效吗?

我正在尝试计算大约 7000 个文档的语料库的 tfidf 值。在互联网上搜索,我找到了很多示例(当我尝试为每个文档创建唯一词矩阵时,其中许多示例被锁定)。唯一有效的似乎是下面的代码


from sklearn.feature_extraction.text import TfidfVectorizer

import pandas as pd


tfidf = TfidfVectorizer()

x = tfidf.fit_transform(corpus)

df_tfidf = pd.DataFrame(x.toarray(), columns=tfidf.get_feature_names())

print(df_tfidf)

假设以下语料库


corpus = [

 'This is the first document.',

 'This document is the second document.',

 'And this is the third one.',

 'Is this the first document?']

它产生了这样的输出:

这段代码也适用于我的情况,事实上它生成了一个包含 7180 行和 10390 列的矩阵。但我不确定这是否正确。您认为,这是计算一组文档的 tfidf 的有效解决方案吗?


ps:我可以插入我关注的指南链接吗?


红颜莎娜
浏览 98回答 1
1回答

慕田峪7331174

是的,这是计算 tf-idf 矩阵的正确方法。您正在使用x = tfidf.fit_transform(corpus)它首先适合您的TfidfVectorizer语料库,然后相应地转换语料库,这样您就可以得到 tf-idf 矩阵作为x
随时随地看视频慕课网APP

相关分类

Python
我要回答