python - 了解 scikit CountVectorizer 中的 min_df 和 max_df

标签 python machine-learning scikit-learn nlp

我有五个文本文件输入到 CountVectorizer。当向 CountVectorizer 实例指定 min_dfmax_df 时,最小/最大文档频率究竟意味着什么?是某个词在其特定文本文件中的频率,还是该词在整个语料库(五个文本文件)中的频率?

min_dfmax_df 以整数或 float 形式提供时有什么区别?

The documentation似乎没有提供详尽的解释,也没有提供示例来演示这两个参数的使用。有人可以提供一个解释或示例来演示 min_dfmax_df 吗?

最佳答案

max_df 用于删除出现过于频繁的术语,也称为“语料库特定的停用词”。例如:

  • max_df = 0.50 表示“忽略出现在超过 50% 的文档中的术语”。
  • max_df = 25 表示“忽略出现在超过 25 个文档中的术语”。

默认的max_df1.0,意思是“忽略出现在超过100%的文档中的词条”。因此,默认设置不会忽略任何条款。


min_df 用于删除出现频率太低的术语。例如:

  • min_df = 0.01 表示“忽略出现在不到 1% 的文档中的术语”。
  • min_df = 5 的意思是“忽略出现在少于 5 个文档中的术语”。

默认的min_df1,意思是“忽略出现在少于1个文档中的词条”。因此,默认设置不会忽略任何条款。

关于python - 了解 scikit CountVectorizer 中的 min_df 和 max_df,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27697766/

相关文章:

python - 修复GEOJson自交点

python - 如何在Python中实现Switch-Case?

python - 在 Centos 7 上安装 lxml - 错误 : command 'gcc' failed with exit status 4

r - 在 R 中绘制 SVM 线性分离器

python - 快速基本循环

python - 后向差分编码

machine-learning - 为什么我们必须对人工神经网络的输入进行标准化?

python - 时间序列的交叉验证

python - 使用 GridSearchCV 在 CV 期间内部缩放训练数据以进行超参数优化

python - 如何在Pipeline中使用LabelEncoder和随机森林