根据CountVectorizer
文档在此处 。
在[0.0, 1.0]
范围内使用浮点数时[0.0, 1.0]
它们指的是文档频率。那是包含该术语的文档的百分比。
使用int时,它是指持有该术语的文档的绝对数量。
考虑具有5个文本文件(或文档)的示例。如果将max_df = 0.6
设置为0.6*5=3
文档。如果您将max_df = 2
设置max_df = 2
那么它将简单地转换为2个文档。
的源代码示例下面从GitHub复制这里和表示如何max_doc_count
从构造max_df
。 min_df
的代码与min_df
类似,可以在GH页面上找到。
max_doc_count = (max_df
if isinstance(max_df, numbers.Integral)
else max_df * n_doc)
min_df
和max_df
的默认值分别为1和1.0。这基本上是说: “如果仅在1个文档中找到我的术语,则将其忽略。同样,如果在所有文档(100%或1.0)中均找到了我的术语,则将其忽略。”
max_df
和min_df
都在内部用于计算必须在其中找到术语的最大和最小文档数max_doc_count
和min_doc_count
。然后将其传递给self._limit_features
作为关键字参数high
和low
分别是self._limit_features
的文档字符串self._limit_features
是
"""Remove too rare or too common features.
Prune features that are non zero in more samples than high or less
documents than low, modifying the vocabulary, and restricting it to
at most the limit most frequent.
This does not prune samples with zero features.
"""
0
我有五个输入到CountVectorizer的文本文件。为CountVectorizer实例指定min_df和max_df时,最小/最大文档频率到底是什么意思?是某个单词在其特定文本文件中的出现频率,还是整个整体语料库(5个txt文件)中该单词的出现频率?
当min_df和max_df作为整数或浮点数提供时有何不同?
该文档似乎没有提供详尽的解释,也没有提供示例来演示min_df和/或max_df的用法。有人可以提供说明或示例来演示min_df或max_df。