在上面的示例中,tfidf是针对训练和测试语料库分别生成的。它不应该一起生成吗,因为火车和测试分别处理时和在一起处理时,idf会不同?谢谢。
# Vectorize the training data
X_train = vectorizer.fit_transform(train_corpus)
# Vectorize the testing data
X_test = vectorizer.transform(test_corpus)
答案 0 :(得分:0)
您不能将测试用于创建TF-IDF模型,因为不允许您承担有关测试集的任何事情。
尽管如此,您仍然需要一种方法将测试集中的单词表示为数字。这就是为什么您必须在训练集(vectorizer.fit_transform(train_corpus)
)上进行训练,而仅转换(未经训练)测试集(vectorizer.transform(test_corpus)
)的原因。