TF-IDF

1.TF-IDF是什么?

TF-IDF :term frequency-inverse document frequency

1.tf-idf 作为一种权重经常被用作信息检索和文本挖掘领域

2.这样一种权重时通过统计计算得出的。来衡量 在一个语料库或者文本集中, 一个term 或者 word对于一个文档的重要性。(比如,有k个文档,其中一个文档d种有一个词w,衡量 w对于k中的d的重要性)

3.直观上看,tf-idf的大小与word在文档中出现频率成正比,与在语料中出现的频率成反比

4.可以用来表达一个文档,比如有k个文档,这个语料库共V个word,那么每一篇文档就由一个V维向量表达,每一维时对应word的tf-idf值。sklearn已有中有具体实现。

2.如何计算TF-IDF

  • TF: Term Frequency :衡量一个word在文档中出现的频率,除以 文档长度可以看成是一种normalization。

    TF(t) = (Number of times term t appears in a document) / (Total number of terms in the document)

  • IDF: Inverse Document Frequency :衡量一个word对于一个文档的重要性。在计算TF的时候,所有的词是一样重要的,显然不够精确,比如‘is’‘a’之类的词TF很高,但是对于文档而言没啥意义。

    IDF(t) = log(Total number of documents / Number of documents with term t in it).

3.举例

一个文档有100个word,其中cat出现了3次,那么tf(cat)=3/100=0.03.
现有我们又10,000,000个文档,其中1000个文档出现了cat,那么idf(cat)=log(10,000,000/1000)=4,那么最后cat的tf-idf权重为0.03*4=0.12

你可能感兴趣的:(machine,learning)