当使用每个时,哈希矢量器和计数矢量器之间有什么区别



我正在使用Scikit-Learn中的各种SVM变体以及CountDectorizer和HashingDectorizer尝试。他们在不同的示例中使用fit或fit_transform,使我感到困惑。

任何澄清都会非常荣幸。

它们的目的类似。该文档为HashingVectorizer提供了一些专业和骗局:

此策略具有多个优点:

  • 它非常低的内存可扩展到大数据集,因为无需将词汇字典存储在内存中
  • 它很快就可以腌制和挑剔,因为它除了构造函数参数以外没有状态
  • 它可以在流中(部分拟合)或平行管道中使用,因为在拟合期间没有计算状态。

也有几个缺点(VS使用CountVectorizer 内存词汇):

  • 无法计算逆变换(从特征索引到字符串特征名称),这可能是一个问题 内省哪些功能对模型最重要。
  • 可能会有碰撞:可以将不同的令牌映射到相同的特征索引。但是实际上,如果这很少是一个问题 N_Features足够大(例如2 ** 18用于文本分类 问题)。
  • 没有IDF加权,因为这会使变压器状态。

相关内容

  • 没有找到相关文章

最新更新