python - 最快的计数向量器实现

标签 python machine-learning nlp scikit-learn vectorization

我正在寻找一种比 scikit-learn 的 CountVectorizer 更高效的 n-gram 计数向量化实现。我已将 CountVectorizer.transform() 调用确定为一些软件中的巨大瓶颈,如果我们能够使管道的这一部分更高效,则可以显着提高模型吞吐量。适合时间并不重要,我们只关心转换时间。最终输出必须是一个 scipy.sparse 向量。如果有人有任何潜在替代方案的线索,我们将不胜感激。

最佳答案

您尝试过 HashingVectorizer 了吗?它稍微快一点(如果我没记错的话,最高可达 2 倍)。下一步是分析代码,去除 CountVectorizerHashingVectorizer 中不使用的功能,并在优化的 Cython 代码中重写剩余部分(再次分析后)。

默认情况下使用散列技巧的 Vowpal Wabbit 的基本特征处理可能会给您一些可实现的提示。

关于python - 最快的计数向量器实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26898410/

相关文章:

r - mlr3 正确设置并行化

python - 如何从 Skit-learn DecisionTreeClassifier 获取二叉树数组

string - Scala 大文本文件

python - 使用 torchnlp 进行文本分类

machine-learning - 为什么词嵌入实际上是向量?

python - 基于以逗号分隔的列和其他两列的返回值

python - 如何将文件的大小和名称放入字典中

python - 在 Python 中生成数字序列(曲线)

python - 如何获取标签下的文字

python-2.7 - 尝试堆叠时出现类型错误