【问题标题】:What is the difference between CountVectorizer and CharNGramAnalyzer in scikit-learn?scikit-learn 中的 CountVectorizer 和 CharNGramAnalyzer 有什么区别?
【发布时间】:2018-03-18 00:16:10
【问题描述】:

我混淆了 CountVectorizer 和 CharNGramAnalyzer。据我了解,

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

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

【问题讨论】:

    标签: python machine-learning scikit-learn text-classification


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2016-08-01
      • 2015-03-10
      • 2017-08-06
      • 2018-07-02
      • 2020-07-13
      • 2020-05-05
      • 2017-02-25
      • 1970-01-01
      • 2015-04-21
      相关资源
      最近更新 更多