首页 > 解决方案 > 列在 tfidf 矩阵中代表什么?

问题描述

我试图了解 TF-IDF 矩阵的结果。这是我正在使用的代码。

sen1 = TextBlob("This is a sample")
d1 = sen1.words
from sklearn.feature_extraction.text import TfidfVectorizer
tfvectorizer = TfidfVectorizer()
tfidf= TfidfVectorizer(tokenizer=identity_tokenizer, stop_words='english', lowercase=False)    
tf = tfidf.fit_transform(d1).todense()

所以,我试图理解由此获得的 tf 矩阵。以下是 tf 矩阵的附图。在此处输入图像描述

有人可以帮我,为什么我有 7 列用于 4 个单词的语料库?行表示单词的数量。

从我在不同资源中研究的结果来看,“结果是一个 tf-idf 分数矩阵,每个文档一行,列数与数据集中的不同单词一样多。” 但我无法从我在这里获得的结果中验证它。

标签: pythontf-idftfidfvectorizer

解决方案


我可以重现你的结果。d1 变量是 ['This', 'is', 'a', 'sample']。这意味着 sklearn 将其解释为 4 个文档,然后使用字符作为单词。

你可以这样检查。

tf = tfidf.fit(d1)

tf.get_feature_names()

['T','e','h','l','m','p','s']


推荐阅读