CountVectorizer和CharNGramAnalyzer在scikit-learn中有什么区别



我在CountVectorizer和CharNGramAnalyzer之间有一个混淆。据我了解,

  1. CountVectorizer 构建了一个计数矩阵,其中行是不同单词的出现次数,同时考虑到高维稀疏性。
  2. CharNGramAnalyzer 构建了一个计数矩阵,其中行是不同字符的出现次数。由于它不考虑单词,因此它不需要知道单词之间的分隔,并且适用于英语以外的语言。

我的理解正确吗?如果没有,我想要详细的解释或任何解释它的来源。

首先,检查你的 sklearn 版本。我觉得你使用的是旧版本的sklearn。你给CountVectorizer的解释是不对的。它不计算语料库中不同单词的数量,至少不计算当前版本。

根据CountVectorizer的文档,您需要传递analyzer='word'才能使字数计数。在最新版本的 sklearn 中,CharNGramAnalyzer 已被弃用,现在与 CountVectorizer 合并。只需analyzer='char'复制CharNGramAnalyzer即可。要验证此检查,http://scikit-learn.org/stable/modules/classes.html#module-sklearn.feature_extraction.text 没有CharNGramAnalyzer条目

相关内容

  • 没有找到相关文章

最新更新