向量器将语料库(例如文本文档)转换为向量Vector Space Model。有很多方法可以做到这一点,而结果将取决于所使用的技术。矢量器是必要的,因为模型处理的是数字,而不是文字。

具体来说,CountVectorizer的实现将生成一个数组,其中包含每个单词的出现次数。在这种特定情况下,CountVectorizer被用作生成TF-IDF(Term Frequency-Inverse Document Frequency)表示的前一步,这是用于确定文档中单词的“重要性”的最常用技术之一。该模型的假设是,出现较多的术语更可能代表该文档(术语频率),但不应考虑整个语料库之间的“常用词”(逆向文档频率),例如连接词。该技术在信息检索领域有着广泛的应用。在

一旦你有了一个向量空间表示的语料库,你就可以开始使用这个表示作为你的机器学习技术的输入。在

尤其是transform方法将返回将训练(fit)模型应用于作为参数传递的元素的结果。换句话说,转换将输入“翻译”成“模型表示语言”。在

让我们用一个例子来说明这一点:

假设我们有3个文档(我知道内容没有意义):文件一:这是一号文件,脾气暴躁。在

文件二:这是文件二是悲哀。在

文件三:这是三号文件是幸福的。在

当fit()被调用时,CountVectorizer将学习词汇表。在

[this, is, document, one, grumpy, two, sad, three, happy]

另一方面,当在语料库上调用transform时,它将使用词汇表来生成这个矩阵:

[1, 2, 1, 1, 1, 0, 0, 0, 0]

(1) [1, 2, 1, 0, 0, 1, 1, 0, 0]

[1, 2, 1, 0, 0, 0, 0, 1, 1]

包含每个文档的单词文档。这里,值2对应于单词“is”,在每个文档中重复两次。另外,值“0”表示文档中不存在该单词。在

现在,我们可以用这个矩阵用fit()来训练TF-IDF模型,它将生成以下向量:

(2) [3, 6, 3, 1, 1, 1, 1, 1, 1]

包含每个单词的全局出现次数。然后,当您将变换应用于(1)时,tf-idf模型将使用在拟合阶段(2)生成的向量来创建tf-idf矩阵:

[0.33, 0.33, 0.33, 1, 1, 0, 0, 0, 0]

[0.33, 0.33, 0.33, 0, 0, 1, 1, 0, 0]

[0.33, 0.33, 0.33, 0, 0, 0, 0, 1, 1]

其中较低的数字代表更常见的单词。注意“独特”的词有更高的数字。稍后的矩阵就是您将用来训练ML模型的矩阵。在

总而言之,例如,如果您希望使用聚类技术(例如KMeans)对一组文档进行分类,则过程如下:转换文档以生成VSM表示。适合TF-IDF模型,该模型将有助于确定每个文件中哪些术语最重要。

适合KMeans模型,该模型将生成理想情况下包含相关文档的集群。为此,模型将使用最后一步生成的结果,通过识别文档之间的共享词来建立文档关系。

所有这些解释都是在自然语言处理的背景下进行的,如果您想使用ML来识别图像,那么您当然不会使用tf-idf。在

我希望它能帮上忙!。在