【发布时间】:2014-07-23 05:36:34
【问题描述】:
我对如何在 Python 的 scikit-learn 库中使用 ngram 感到有些困惑,特别是 ngram_range 参数如何在 CountVectorizer 中工作。
运行此代码:
from sklearn.feature_extraction.text import CountVectorizer
vocabulary = ['hi ', 'bye', 'run away']
cv = CountVectorizer(vocabulary=vocabulary, ngram_range=(1, 2))
print cv.vocabulary_
给我:
{'hi ': 0, 'bye': 1, 'run away': 2}
我在哪里(显然是错误的)我会得到一元和二元的印象,就像这样:
{'hi ': 0, 'bye': 1, 'run away': 2, 'run': 3, 'away': 4}
我正在处理这里的文档:http://scikit-learn.org/stable/modules/feature_extraction.html
显然,我对如何使用 ngram 的理解存在严重错误。也许这个论点没有效果,或者我对实际的二元组有一些概念上的问题!我难住了。如果有人对我提出建议,我将不胜感激。
更新:
我已经意识到我的做法是愚蠢的。我的印象是ngram_range 会影响词汇,而不是语料库。
【问题讨论】:
标签: python scikit-learn n-gram feature-selection