【问题标题】:Vectorizer (Hashing, Count, etc.): reusing after fit_transformVectorizer(Hashing、Count等):fit_transform后重用
【发布时间】:2014-04-03 05:07:33
【问题描述】:

假设我有两个都是基于文本的功能;例如,假设我正在尝试预测体育比赛,我有:

1) 体育评论摘录(正文) 2)摘自网络粉丝预测(也是正文)。

如果我要在功能 1 上使用文本矢量化器(例如 HashingVectorizer),并带有 fit_transform(),那么在功能 2 上再次使用它(fit_transform())会不会不好,或者我应该为那?我只是想知道在具有相同矢量化器的多个特征上重用 fit_transform() 是否可能会产生不好的副作用。

【问题讨论】:

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

标签: scikit-learn


【解决方案1】:

我会说这取决于您是否想要文本到矢量转换步骤的可重复性。例如,如果您想使用从第一个数据集制作的相同分类器(或其他分类器),则需要重用矢量化器。如果你在不同的数据集上安装一个新的,它将建立一个不同的词汇表,即提取不同的标记,并使向量不同。这可能是您想要的非常不同的数据集(如果您要重新训练)。可能是第二个数据集包含对预测至关重要的新词。如果您重用矢量化器,这些将被遗漏。

顺便说一句,如果你想保存到磁盘,矢量化器可以被腌制。例如,请参阅:how to pickle customized vectorizer?

【讨论】:

    猜你喜欢
    • 2015-07-13
    • 2016-09-01
    • 2019-01-29
    • 2019-01-23
    • 2021-09-23
    • 2018-02-17
    • 2015-11-25
    • 2019-05-12
    • 2022-08-20
    相关资源
    最近更新 更多