sklearn.feature_extraction.text.
CountVectorizer
(
input=u'content'
,
encoding=u'utf-8'
,
decode_error=u'strict'
,
strip_accents=None
,
lowercase=True
,
preprocessor=None
,
tokenizer=None
,
stop_words=None
,
token_pattern=u'(?
u)\b\w\w+\b'
,
ngram_range=(1
,
1)
,
analyzer=u'word'
,
max_df=1.0
,
min_df=1
,
max_features=None
,
vocabulary=None
,
binary=False
,
dtype=<type 'numpy.int64'>
)
作用:Convert a collection of text documents to a matrix of token counts(计算词汇的数量,即tf);结果由 scipy.sparse.coo_matrix进行稀疏表示。
看下参数就知道CountVectorizer在提取tf时都做了什么:
strip_accents
: {‘ascii’, ‘unicode’, None}:是否除去“音调”,不知道什么是“音调”?看:http://textmechanic.com/?reqp=1&reqr=nzcdYz9hqaSbYaOvrt==
lowercase
: boolean, True by default:计算tf前,先将所有字符转化为小写。
这个参数一般为True。
preprocessor
: callable or None (default):复写the preprocessing (string transformation) stage,但保留tokenizing and n-grams generation steps.
这个参数可以自己写。
tokenizer
: callable or None (default):复写the string tokenization step,但保留preprocessing and n-grams generation steps.
这个参数可以自己写。
stop_words
: string {‘english’}, list, or None (default):如果是‘english’, a built-in stop word list for English is used。如果是a list,那么最终的tokens中将去掉list中的所有的stop word。如果是None, 不处理停顿词;但
参数 max_df
可以设置为 [0.7, 1.0) 之间,进而根据
intra corpus document frequency(df)
of terms自动detect and filter stop words。这个参数要根据自己的需求调整。
token_pattern
: string:正则表达式,默认筛选长度大于等于2的字母和数字混合字符(select tokens of 2 or more alphanumeric characters ),参数analyzer设置为word时才有效。
ngram_range
: tuple (min_n, max_n):n-values值得上下界,默认是
ngram_range=(1
,
1),
该范围之内的n元feature都会被提取出来!
这个参数要根据自己的需求调整。
analyzer
: string, {‘word’, ‘char’, ‘char_wb’} or callable:特征基于wordn-grams还是character n-grams。如果是callable是自己复写的从the raw, unprocessed input提取特征的函数。
max_df
: float in range [0.0, 1.0] or int, default=1.0:
min_df
: float in range [0.0, 1.0] or int, default=1:按比例,或绝对数量删除df超过max_df或者df小于min_df的word tokens。有效的前提是参数vocabulary设置成Node。
max_features
: int or None, default=None:选择tf最大的max_features个特征。有效的前提是参数vocabulary设置成Node。
vocabulary
: Mapping or iterable, optional:自定义的特征word tokens,如果不是None,则只计算vocabulary中的词的tf。
还是设为None靠谱。
binary
: boolean, default=False:如果是True,tf的值只有0和1,表示出现和不出现,useful for discrete probabilistic models that model binary events rather than integer counts.。
dtype
: type, optional:Type of the matrix returned by fit_transform() or transform().。