根据我的理解,IDF用于计算有多少文件具有该术语(仅仅是这个想法)。您可以在训练集中计算IDF(以及TF),因为您事先拥有所有文档。但是,如果我事先没有测试集并且我以顺序的方式获得测试文档(比如来自网络爬虫),那么在测试时如何计算文档中的单词的IDF呢? ?
答案 0 :(得分:2)
对于此状态,如果您的数据集足够大,则可以仅使用IDF训练集。在测试阶段,如果新术语在训练集中,则使用训练的IDF,如果术语是新的,则使用训练集文档的数量来计算IDF。 出于某些目的,您可以使用平滑方法获得更好的结果。
答案 1 :(得分:0)
如果您只在索引/抓取一大堆文档后执行测试,则可以在爬网完成后计算IDF。遇到新文档或新术语时,您无需计算IDF。当您需要进行TD-IDF或其他计算时,您可以即时计算。
如果这还不够,出于某种原因,您仍然可以使用其他文档数据集的IDF,最好使用相同类型的文档。