我正在使用朴素贝叶斯模型将包含 200000 条评论的语料库训练成正面和负面评论,我注意到执行 TF-IDF 实际上将准确度(在测试集 50000 条评论的测试集上)降低了大约 2%。所以我想知道 TF-IDF 是否对它使用的数据或模型有任何潜在的假设,即使用它会降低准确性的任何情况?
一般来说,TF-IDF 什么时候会降低准确率?
数据挖掘
分类
朴素贝叶斯分类器
2021-10-03 04:34:11
1个回答
如果单词出现在语料库中的大部分文档中,则 TF-IDF 的 IDF 部分对单词的权重较小。然而,这并不一定意味着这个词对于区分你的两个类并不重要。一个词在你的语料库中很常见,但在一个类中也比另一个类中出现的频率要高得多,它很可能对区分这些类非常有价值。如果您的集合在两个类别之间不平衡,则尤其如此。
例如: 假设 95% 的负面评论包含“无聊”一词,而只有 5% 的正面评论包含“无聊”。如果这发生在一组平衡的负面和正面评论中,这意味着总评论的一半将包含“无聊”,这可能是 IDF 更强烈压制权重的术语之一,尽管它显然是一个区分类别的宝贵术语。相反,如果 90% 的评论是负面的(95% 的负面评论和 5% 的正面评论中再次出现“无聊”),那么整整 86% 的文档都包含该术语,并且它的权重可能会被高度抑制IDF 尽管其重要性显而易见。
本质上,问题在于 TF-IDF 与训练集中的类标签无关。没有此缺陷的文本分类的 TF-IDF 替代方法是双法线分离 (BNS),例如,请参见本文:
其它你可能感兴趣的问题