tfidf应该结合训练和测试集生成吗?

时间:2020-01-28 13:36:47

标签: scikit-learn classification tf-idf

https://medium.com/machine-learning-intuition/document-classification-part-3-detection-algorithm-support-vector-machines-gradient-descent-282316b0838e

在上面的示例中,tfidf是针对训练和测试语料库分别生成的。它不应该一起生成吗,因为火车和测试分别处理时和在一起处理时,idf会不同?谢谢。

# Vectorize the training data
X_train = vectorizer.fit_transform(train_corpus)

# Vectorize the testing data
X_test = vectorizer.transform(test_corpus)

1 个答案:

答案 0 :(得分:0)

您不能将测试用于创建TF-IDF模型,因为不允许您承担有关测试集的任何事情。

尽管如此,您仍然需要一种方法将测试集中的单词表示为数字。这就是为什么您必须在训练集(vectorizer.fit_transform(train_corpus))上进行训练,而仅转换(未经训练)测试集(vectorizer.transform(test_corpus))的原因。