我是否使用训练集中的相同idf来执行交叉验证?

时间:2013-12-12 15:30:46

标签: machine-learning svm tf-idf cross-validation

我正在尝试使用向量空间模型在SVM Light中构建SVM分类器。我有1000个文档和一个术语词典,我将使用它来对每个文档进行矢量化。在1000个文档中,600个将用于我的训练集,而剩余的400个将被均分(每个200个)用于我的交叉验证集和我的测试集。

现在假设我使用600的训练集(使用tf-idf矢量化)训练我的SVM分类器,以生成分类模型。

当我将模型应用于我的交叉验证集时,我会使用相同的idf(因为模型对应于我的训练集),还是我需要根据交叉验证集计算新的idf?另外,如果我要将模型应用于单个文档,我将如何应用idf,因为此集合只包含1个文档?

2 个答案:

答案 0 :(得分:2)

您在培训文档中构建idf,并在新测试文档到来时使用它。对于每个测试文档,您可以使用查询中每个术语的idf为查询创建单词列表。如果idf中不包含单词,则查询将返回0.根据已建立的idf获取分类。

答案 1 :(得分:1)

你应该使用与训练集相同的idf,因为你构建了与idf相对应的分类器,因此你的结果会因新的idf而不同。