我正在尝试使用scikit-learn中的各种SVM变体以及CountVectorizer和HashingVectorizer。他们在不同的例子中使用fit或fit_transform,这让我很困惑。
任何澄清都会非常荣幸。
答案 0 :(得分:14)
他们有着类似的目的。 documentation为http://static.yourhost.com/
提供了一些专业人士和对象:&#p>
这种策略有几个优点:
- 由于不需要在内存中存储词汇词典,因此对大型数据集的内存可扩展性非常低
- 除了构造函数参数
之外,它没有任何状态,因此很快就会发腌和解腌- 它可用于流媒体(部分拟合)或并行管道,因为在拟合期间没有计算状态。
还有一些缺点(vs使用带有一个的CountVectorizer 记忆词汇表:
- 没有办法计算逆变换(从特征索引到字符串特征名称),这在尝试时可能是个问题 内省哪些特征对模型最重要。
- 可能存在冲突:不同的令牌可以映射到同一个要素索引。但是在实践中,这很少是一个问题 n_features足够大(例如2 ** 18用于文本分类 问题)。
- 没有IDF加权,因为这会使变压器有状态。