sklearn.feature_extraction.text.CountVectorizer 参数说明

本人小白一枚,现在正在做分词和文本挖掘的事情,翻译了下sklearn.feature_extraction.text.CountVectorizer,有错误之处还请大佬指出

将文本文档集合转换为计数矩阵此实现使用scipy.sparse.csr_matrix生成计数的稀疏表示。如果您不提供先验词典并且不使用执行某种特征选择的分析器,则功能的数量将等于通过分析数据找到的词汇量。

用法:

sklearn.feature_extraction.text(input=’content’,encoding=’utf8’decode_error=’strict’,strip_accents=Nonelowercase=Truepreprocessor=Nonetokenizer=Nonestop_words=Nonetoken_pattern=’(?u)\b\w\w+\b’ngram_range=(11)analyzer=’word’max_df=1.0min_df=1max_features=Nonevocabulary=None,binary=Falsedtype=<class ‘numpy.int64’>)

参数:

Inputstring {‘filename’, ‘file’, ‘content’}

如果是'filename',那么作为参数传递给fit的序列应该是一个需要读取以获取要分析的原始内容的文件名列表。

如果是'file',则序列项必须具有'read'方法(类文件对象),该方法被调用以获取内存中的字节。

否则,输入应该是序列字符串或预期直接分析的字节项。

Encoding string, ‘utf-8’ by default.

如果给出要分析的字节或文件,则使用此编码进行解码。

decode_error {‘strict’, ‘ignore’, ‘replace’}

如果给出分析的字节序列包含没给定编码的字符,该如何操作的说明。 默认情况下,它是'strict',这意味着将引发UnicodeDecodeError。 其他值为'ignore'和'replace'。

strip_accents=None {‘ascii’, ‘unicode’, None}

在预处理步骤中删除重音。 'ascii'是一种快速方法,仅适用于具有直接ASCII映射的字符。 'unicode'是一种稍微慢一点的方法,适用于任何字符。 无(默认)不执行任何操作。

Lowercaseboolean, True by default

在标记化之前将所有字符转换为小写

Preprocessorcallable or None (default)

覆盖预处理(字符串转换)阶段,同时保留标记化和n-gram生成步骤。

Tokenizercallable or None (default)

覆盖字符串标记化步骤,同时保留预处理和n-gram生成步骤。 仅适用于analyzer =='word'。

stop_wordsstring {‘english’}, list, or None (default)

如果是“英语”,则使用英语的内置停用词列表。

如果列表,该列表被假定包含停用词,则所有这些将从生成的结果中删除。 仅适用于analyzer =='word'。

如果为None,则不使用停用词。 max_df可以设置为[0.7,1.0]范围内的值,以根据术语的语料库文档频率自动检测和过滤停用词。

token_patternstring

正则表达式表示什么构成“标记”,仅在analyzer =='word'时使用。 默认正则表达式选择2个或更多字母数字字符的标记(标点符号完全被忽略,并始终被视为标记分隔符)。

 ngram_range:tuple (min_n, max_n)

要提取的不同n-gram的n值范围的下边界和上边界。 将使用n的所有值,使得min_n <= n <= max_n。

Analyzerstring, {‘word’, ‘char’, ‘char_wb’} or callable

该功能是否应由单词或字符n-gram组成。

选项'char_wb'仅从字边界内的文本创建字符n-gram; 单词边缘的n-gram用空格填充。

如果传递了一个callable,它将用于从原始未处理的输入中提取特征序列。

max_df float in range [0.0, 1.0] or int, default=1.0

在构建词汇表时,忽略文档频率严格高于给定阈值的术语(语料库特定的停用词)。 如果是float,则参数表示文档的比例,整数绝对计数。 如果词汇表不是None,则忽略此参数。

min_dffloat in range [0.0, 1.0] or int, default=1

构建词汇表时,请忽略文档频率严格低于给定阈值的术语。 该值在文献中也称为截止值。 如果是float,则参数表示文档的比例,整数绝对计数。 如果词汇表不是None,则忽略此参数。

max_featuresint or None, default=None

如果不是None,则构建一个词汇表,该词汇表仅考虑语料库中按术语频率排序的最高max_features。

如果词汇表不是None,则忽略此参数。

VocabularyMapping or iterable, optional

其中键是术语和值的映射(例如,字典)是特征矩阵中的索引,或者是可迭代的术语。 如果没有给出,则从输入文档确定词汇表。 映射中的索引不应重复,并且不应该在0和最大索引之间存在任何差距。

Binaryboolean, default=False

如果为True,则所有非零计数都设置为1.这对于模拟二进制事件而非整数计数的离散概率模型非常有用。

Dtypetype, optional

fit_transform()或transform()返回的矩阵的类型。

方法:

vocabulary_ : dict

术语与特征指标的映射

使用:

    h=docx2txt.process(file_path)
    jieba.analyse.set_stop_words('')
    data=jieba.analyse.extract_tags(h)
    print(data)
    count=CountVectorizer(data)
    print(count.fit_transform(data).toarray())
    print(count.vocabulary_)
    for key,value in count.vocabulary_.items():
        print (key,value)

猜你喜欢

转载自blog.csdn.net/ustbclearwang/article/details/81481324