我想了解当我们对文本文档TfidfVectorizer
进行矢量化时如何计算tf和idf分数。
我理解tf-idf如何以两种方式排名,我在下面写。
有人可以解释一下我的理解是否正确?如果没有,请纠正我理解中的错误。
答案 0 :(得分:1)
确切答案在sklearn documentation:
... 术语频率,术语在给定文档中出现的次数,乘以 idf 组件,计算为
idf(t) = log[(1 + n_d) / (1+df(d,t))] + 1
,其中
n_d
是文档总数,df(d,t)
是包含术语t
的文档数。
所以关于 tf 的第一项是正确的,但是这两项都错过了 idf 是反文档频率的点,所以它& #39; s 文档数量的比率(所有文档与包含该术语的文档至少一次)。该公式采用比率的对数来使比率函数更加平坦",并且可以通过类参数进行调整。