TF-IDF向量化器和TF-IDF转换器之间有什么区别?

7
我知道tfidf vectorizer的公式是什么。
Count of word/Total count * log(Number of documents / no.of documents where word is present)

我看到scikit learn里有tfidf变换器,想了解它们之间的区别。但是我找不到任何有用的信息。


请参考文档TfidfTransformer。它可能对你有所帮助。 - Sociopath
@AkshayNevrekar 有点困惑,我不理解使用的公式。希望这里有人能够提供帮助。 - user_6396
4个回答

16

2
因此,它基本上将CountVectorizer返回的稀疏计数矩阵转换为TF-IDF矩阵。 - user_6396

6

Artem的回答已经基本概括了它们的区别。为了让事情更清楚,这里引用一个例子(点击此处)

TfidfTransformer可以按照以下方式使用:

from sklearn.feature_extraction.text import CountVectorizer
from sklearn.feature_extraction.text import TfidfTransformer


train_set = ["The sky is blue.", "The sun is bright."] 

vectorizer = CountVectorizer(stop_words='english')
trainVectorizerArray =   vectorizer.fit_transform(article_master['stemmed_content'])

transformer = TfidfTransformer()
res = transformer.fit_transform(trainVectorizerArray)

print ((res.todense()))


## RESULT:  

Fit Vectorizer to train set
[[1 0 1 0]
 [0 1 0 1]]

[[0.70710678 0.         0.70710678 0.        ]
 [0.         0.70710678 0.         0.70710678]]

TfidfVectorizer可以在一次操作中提取计数特征,进行TF-IDF规范化和行向欧几里得规范化:

from sklearn.feature_extraction.text import TfidfVectorizer

tfidf = TfidfVectorizer(stop_words='english')
res1 = tfidf.fit_transform(train_set)
print ((res1.todense()))


## RESULT:  

[[0.70710678 0.         0.70710678 0.        ]
 [0.         0.70710678 0.         0.70710678]]

这两个过程都会生成一个稀疏矩阵,包含相同的值。
其他有用的参考资料可以查看 tfidfTransformer.fit_transformcountVectoriser_fit_transformtfidfVectoriser


5
使用Tfidftransformer,您将使用CountVectorizer计算单词计数,然后计算IDF值,仅在此之后计算Tf-idf分数。使用Tfidfvectorizer,您将同时完成所有三个步骤。
我认为您应该阅读这篇文章(此处有一个例子的文章)

0

tfidf向量化器和转换器是相同的,但只在标准化步骤上有所不同。

tfidf转换器执行额外的“标准化”步骤,使所有值都在0到1范围内,而tfidf向量化器则不执行标准化步骤。

为了标准化目的,tfidf转换器使用“Norm”(如欧几里得范数(L2))。

例如:

tf-idf = [4,0.2,0]

上述向量是在计算词项频率(tf)和逆文档频率(idf)后获得的。

注意:上述向量也可以在tfidf向量化器中获得。但是tfidf向量化器在获取上述向量后停止处理。

在这里,我们使用欧几里得范数进行标准化。

欧几里得范数公式用于标准化

  =      [4,0.2,0]
    ---------------------
    sqrt(4^2 + 0.2^2 + 0)

  =[1,0.05,0]

因此,上述向量是通过tfidf转换器计算得出的归一化向量。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接