我在EMR中的80亿文档集上运行pyspark.ml.feature.CountVectorizer。拟合模型后,我注意到输出中不存在12个具有最高文档频率的词汇。这些词汇的文档频率在20亿到30亿之间。由于在安装CountVectorizer时未设置参数maxDF。我的第一个假设是此参数的默认值小于20亿。但是,当我查看文档时,发现maxDF的默认值为2 ** 63-1,比我的语料库大小大得多。
然后,我将maxDF显式设置为9999999999,然后重新运行CountVectorizer。此时,maxDF再次大于语料库的大小。从理论上讲,所有高频词汇都应被捕获。但是,这些词汇都没有我得到相同的结果。
我使用的spark版本是2.4.0。我不确定如何执行火花来捕获那些频繁出现的词汇。由于它们对于我的后续分析非常重要,因此我不能简单地丢弃它们。