gpt4 book ai didi

Python scikit 学习的 TfidfVectorizer - 最大值为 1.0?

转载 作者:太空宇宙 更新时间:2023-11-04 05:43:22 25 4
gpt4 key购买 nike

我在网上找不到这个问题的答案,但是 tfidfVectorizer.fit_transform 的结果是一个最大值为 1.0 的数组吗?

因为,与idf(term_i)=
log(#number of docs/number of docs containing term_i )
,在许多情况下,idf 和随后的 tfidf 不应该 > 1.0 吗?

即包含“苦艾酒”一词的文件。假设我们的术语 freq (tf) 是 1,但 idf 是(1000 个文档总数/1 个包含“absinthe”的文档)= 1000,1*1000 = 1000,不是吗?

但是在我使用 scikit-learn 的 TfidfVectorizer 的情况下,我得到的最大值似乎是 1。它是否归一化?

最佳答案

默认情况下,tfidf 行是 L2 规范化的。 Here是源代码中的关键行。

if self.norm:
X = normalize(X, norm=self.norm, copy=False)

normalize() 来自 sklearn.preprocessing 模块,它表示它默认对行进行归一化。 Here是指向 normalize() 文档的链接。

关于Python scikit 学习的 TfidfVectorizer - 最大值为 1.0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33115343/

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