CountVectorizer是属于常见的特征数值计算类,是一个文本特征提取方法。对于每一个训练文本,它只考虑每种词汇在该训练文本中出现的频率。
CountVectorizer会将文本中的词语转换为词频矩阵,它通过fit_transform函数计算各个词语出现的次数。
参数表作用encodeing使用默认的utf-8即可,分析器将会以utf-8解码raw documentanalyzer一般使用默认,可设置为string类型,如’word’, ‘char’, ‘char_wb’,还可设置为callable类型,比如函数是一个callable类型ngram_range词组切分的长度范围stop_words设置停用词,设为english将使用内置的英语停用词,设为一个list可自定义停用词,设为None不使用停用词,设为None且max_df∈[0.7, 1.0)将自动根据当前的语料库建立停用词表lowercase将所有字符变成小写max_features默认为None,可设为int,对所有关键词的term frequency进行降序排序,只取前max_features个作为关键词集binary默认为False,一个关键词在一篇文档中可能出现n次,如果binary=True,非零的n将全部置为1,这对需要布尔值输入的离散概率模型的有用的参考: https://blog.csdn.net/weixin_38278334/article/details/82320307
from sklearn.feature_extraction.text import CountVectorizer texts = ['dog cat fish','dog cat cat', 'fish bird', 'bird'] cv = CountVectorizer() cv_fit = cv.fit_transform(texts) print(cv.get_feature_names()) print(cv_fit.toarray()) print(cv_fit.toarray().sum(axis=0))[‘bird’, ‘cat’, ‘dog’, ‘fish’] [[0 1 1 1] [0 2 1 0] [1 0 0 1] [1 0 0 0]] [2 3 2 2]
from sklearn.feature_extraction.text import CountVectorizer texts = ['dog cat fish', 'dog cat cat', 'fish bird', 'bird'] cv = CountVectorizer(ngram_range = (1, 4)) cv_fit = cv.fit_transform(texts) print(cv.get_feature_names()) print(cv_fit.toarray()) print(cv_fit.toarray().sum(axis=0))[‘bird’, ‘cat’, ‘cat cat’, ‘cat fish’, ‘dog’, ‘dog cat’, ‘dog cat cat’, ‘dog cat fish’, ‘fish’, ‘fish bird’] [[0 1 0 1 1 1 0 1 1 0] [0 2 1 0 1 1 1 0 0 0] [1 0 0 0 0 0 0 0 1 1] [1 0 0 0 0 0 0 0 0 0]] [2 3 1 1 2 2 1 1 2 1]
应用: 贝叶斯新闻分类https://blog.csdn.net/sanjianjixiang/article/details/102846360
