我正在使用Scikit-Learn中的各种SVM变体以及CountDectorizer和HashingDectorizer尝试。他们在不同的示例中使用fit或fit_transform,使我感到困惑。
。任何澄清都会非常荣幸。
它们的目的类似。该文档为HashingVectorizer
提供了一些专业和骗局:
此策略具有多个优点:
- 它非常低的内存可扩展到大数据集,因为无需将词汇字典存储在内存中
- 它很快就可以腌制和挑剔,因为它除了构造函数参数以外没有状态
- 它可以在流中(部分拟合)或平行管道中使用,因为在拟合期间没有计算状态。
也有几个缺点(VS使用CountVectorizer 内存词汇):
- 无法计算逆变换(从特征索引到字符串特征名称),这可能是一个问题 内省哪些功能对模型最重要。
- 可能会有碰撞:可以将不同的令牌映射到相同的特征索引。但是实际上,如果这很少是一个问题 N_Features足够大(例如2 ** 18用于文本分类 问题)。
- 没有IDF加权,因为这会使变压器状态。