本文为优缺点分析,算法的详细内容不做具体介绍;参考自该blog
- 标准的TF-IDF公式如下(—后的文字表示说明):
- 优点:简单、快速
- 缺点:
- 仅以“词频”度量词的重要性,后续构成文档的特征值序列,词之间各自独立,无法反映序列信息;
- 易受数据集偏斜的影响,如某一类别的文档偏多,会导致IDF低估;处理方法如下公式所示,增加类别权重(注:最后
C
F
(
t
j
,
c
k
)
应
为
C
F
(
t
j
)
)
CF(t_j, c_k)应为CF(t_j))
CF(tj,ck)应为CF(tj));
- 没有考虑类内、类间分布偏差(被用于特征选择时)
- 比如只有2类数据,文档总数200,类1类2各100个文档;term1只出现在类1的所有100个文档,在类1出现总次数500;term2在类1出现次数也是500,但是类1和类2各有50个文档出现term2;此时对类1,计算两个term得到的TF-IDF结果是一样的;无法反映term1对类1的重要性
- 改进:在IDF中添加当前类别包含term1的文档数权重,如下m
- 来自知乎的一个问题:文本分类中,为什么要用卡方检验提取特征词而用TFIDF计算特征词权重(以下引用大佬回答,侵删)