Scikit learn 矢量器(散列、计数等):在fit_变换后重用

Scikit learn 矢量器(散列、计数等):在fit_变换后重用,scikit-learn,Scikit Learn,假设我有两个特征,它们都是基于文本的;例如,假设我试图预测体育比赛,我得到: 1) 摘自体育评论(正文) 2) 摘自互联网粉丝预测(也是正文) 如果我在功能1上使用文本向量器(比如HashingVectorizer)和fit_transform(),那么在功能2上再次使用它(fit_transform())是不好的,还是应该为此创建一个新的向量器?我只是想知道,在使用同一矢量器的多个功能上重复使用fit_transform()是否会产生不良副作用。我想说,这取决于您是否希望文本到矢量转换步骤的再

假设我有两个特征,它们都是基于文本的;例如,假设我试图预测体育比赛,我得到:

1) 摘自体育评论(正文) 2) 摘自互联网粉丝预测(也是正文)


如果我在功能1上使用文本向量器(比如HashingVectorizer)和fit_transform(),那么在功能2上再次使用它(fit_transform())是不好的,还是应该为此创建一个新的向量器?我只是想知道,在使用同一矢量器的多个功能上重复使用fit_transform()是否会产生不良副作用。

我想说,这取决于您是否希望文本到矢量转换步骤的再现性。例如,如果要使用从第一个数据集生成的相同分类器(或任何东西),则需要重用矢量器。如果在不同的数据集上安装一个新的,它将构建不同的词汇表,即提取不同的标记,并使向量不同。这可能是你想要的一个非常不同的数据集(如果你要再培训)。第二个数据集可能包含对预测至关重要的新词。如果重新使用矢量器,这些将丢失


顺便说一下,如果要保存到磁盘,可以对矢量器进行pickle处理。有关示例,请参见:

HashingVectorizer
完全是无状态的,因此它始终可以安全地重用。但我不明白你为什么不一次完成整个训练集。