IDF(逆文档频率)计算



我已经计算了我的数据集的TF,我目前正试图计算它的IDF。我不知道该用哪个数字来计算。

id       uid
1         a
1         b
1         c
1         d
2         a
2         b
2         c
2         e
3         b
3         c 
3         e
3         f
(3 items)
Occurrence
a = 2
b = 3
c = 3
d = 1
e = 2
f = 1

给出如下内容:

  A B C
A - 2 2
B 2 - 3
C 2 3 -

公式
IDF(t,D)=log(Total Number documents/Number of Document matching term);

例如使用(A,B),它的值是2:我应该如何去计算它?
合计= 3
文档匹配项的数量=我应该使用A还是B值?(2或3)

(A,B) * log(total / matching)
= 2 * log ( 3 / 2 or 3) ?

我不太明白你说的(A,B)是什么意思。

但是我假设从你的数据集:第一列是文档id,第二列是术语。

如果我的假设是正确的,那么:Doc id 1是"a b c d"。Doc 2是"a b c e"。文档id 3是"b c e f"

IDF(t, D)的公式是log(文档的数量/包含该术语的文档的数量)。因此,我们可以计算每个项的IDF,如下所示:

IDF('a', D) = log(3/2)IDF('b', D) = log(3/3)等等…

这是我的参考:https://en.wikipedia.org/wiki/Tf%E2%80%93idf

最新更新