IDF(逆文档频率)计算

时间:2015-10-24 14:03:11

标签: information-retrieval tf-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) ?

1 个答案:

答案 0 :(得分:0)

我不确定你的意思是什么(A,B)。

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

如果我的假设是正确的话: doc id 1是" a b c d" doc id 2是" a b c e" doc 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