任务
学习TF-IDF理论并实践,使用TF-IDF表示文本
TF-IDF(Term Frequency–Inverse Document Frequency)
主要思想是:如果词i在一篇文档j中出现的频率高,并且在其他文档中很少出现,则认为词i具有很好的区分能力,适合用来把文章j和其他文章区分开来。适合用来分类。
TF-IDF实际上是:TF * IDF
$$ tfidf_{i,j}=tf_{i,j}\times idf_{i} $$
TF词频(Term Frequency):某一个给定的词语在该文件中出现的频率。
$$ tf_{i,j}=\frac{n_{i,j} }{\sum {k}n{k,j}} $$
IDF逆向文件频率(Inverse Document Frequency):是一个词语普遍重要性的度量。如果包含词条t的文档越少,也就是n越小,IDF越大,则说明词条t具有很好的类别区分能力。如果某一类文档C中包含词条t的文档数为m,而其它类包含t的文档总数为k,显然所有包含t的文档数n=m+k,当m大的时候,n也大,按照IDF公式得到的IDF的值会小,就说明该词条t类别区分能力不强。
$$ idf_{i}=lg\frac{\left | D \right |}{\left | \left { j:t_{i}\in d_{j} \right } \right |} $$
代码
1 | import pandas as pd |