2015-05-04 125 views

回答

13

他们服务于类似的目的。该documentation提供了一些亲的和反对的为HashedVectorizer

这种策略有几个优点:

  • 这是非常低的内存可扩展到大型数据集,因为没有必要在内存中存储词汇词典
  • 因为除了构造函数参数外,它不包含任何状态,因此它可以快速进行腌泡和取消腌制。因为在拟合过程中没有计算出状态,所以它可以用于流式(部分拟合)或并行流水线。

也有几个缺点的(相对于使用CountVectorizer与 内存词汇):

  • 没有办法计算逆变换(从特征指数为字符串功能名称)当试图反思哪些特征对模型最重要时,这可能是一个问题。
  • 可能存在冲突:不同的记号可以映射到相同的特征索引。然而在实践中,如果n_features足够大(例如2 ** 18用于文本分类 问题),这很少成为问题。
  • 没有IDF加权,因为这会使变压器变为有状态。
相关问题