如何使用从训练集创建的 Document-Term Matrix 在测试数据中表示文档?

数据挖掘 Python 文本挖掘 向量空间模型 集成电路
2022-03-05 17:08:23

我使用训练集中每个文档的向量表示(即 Document-Term Matrix 中的一行)来构建文档分类器。现在我需要在测试数据上测试模型。但是,由于某些术语可能不包含在训练数据中,我如何使用 Document-Term Matrix 表示新文档?

2个回答

最简单的方法是将所有词汇外术语视为矩阵中的特定术语(即“OOV”)。

例如,如果我的训练数据包含 3 个单词:“I”、“like”、“cake”,我的文档术语矩阵将包含 4 个项目,“I”、“like”、“cake”和“OOV” .

如果您选择使用 scikit-learn 的CountVectorizer,则会自动忽略出现在测试数据集中但不在训练数据集中的单词。

fit_transform方法在创建文档术语矩阵的训练数据上调用。唯一的transform方法是在测试数据上调用,将这些文档转换为训练中创建的文档术语矩阵,自动删除任何新术语。