CountVectorizer().fit_transform() 是否保留输入顺序?

Does CountVectorizer().fit_transform() preserve order of input?

我想知道,当我使用 CountVectorizer().fit_transform() 时,输出是否保留了输入的顺序。

我的输入是文档列表。我知道输出在长度上与输入匹配,但我不确定它们的顺序是否相同。

我知道我可能没有很好地解释它,所以这里有一个例子。

假设我有:

input = ["<text_1>", "<text_2>", "<text_3>"]
a = CountVectorizer().fit_transform(input)

索引是否会像保留顺序一样对应?

例如,在:

  (0, 33)   1
...
  (0, 42)   8
...
  (385, 58) 1
  (385, 51) 6

(0, 33) 1是否等同于input[0],或者(385, 58) 1等同于input[365]

是的,行顺序被保留。这必须适用于所有 scikit-learn 转换方法,因为常见的工作流程是将数据拆分为特征矩阵 X 和目标向量 y,其中矩阵的每一行对应向量的一个元素。当您转换 X 时,您必须仍然能够在转换后的 Xy 配对上训练模型,因此必须保留顺序。