Sklearn的TfidfVectorizer中tfidf值的计算

TfidfVectorizer的实现是通过CountVectorizer和TfidfTransformer共同实现的。
其中TfidfTransformer实现了每个词的tfidf值的计算。

下图是官方文档中,对tfidf值计算的说明:
Sklearn的TfidfVectorizer中tfidf值的计算_第1张图片
可以看出默认的计算方法是
i d f ( d , t ) = log ⁡ [ ( 1 + n ) 1 + d f ( d , t ) ] + 1 idf(d,t) = \log\bigg[ \frac{(1+n)}{1+df(d,t)}\bigg] +1 idf(d,t)=log[1+df(d,t)(1+n)]+1
其中:

  • n n n:所有的文档数目
  • d f ( d , t ) df(d,t) df(d,t):包含词 t t t的文档数目

如果公式最后没有 + 1 +1 +1的话,如果某个词在所有文档中都出现,且 log ⁡ 1 = 0 \log1 = 0 log1=0改词的逆文档频率将为0,从而导致改词被忽略。

你可能感兴趣的:(Python)