繁体   English   中英

Python Scikit学习:TF-IDF中的空词汇表

[英]Python Scikit-learn: Empty Vocabulary in TF-IDF

我正在使用该问题的最高投票答案( 两个文本文档之间的相似性 )给出的代码来计算文档之间的TF-IDF。 但是,我观察到,当我运行代码时未指定min_df的自定义值(在代码中为1)时,如果两个文档完全不同(这样它们中就没有共同的词),而不是接收TF- IDF值为0,我得到以下错误:

ValueError: empty vocabulary; training set may have contained only stop words or min_df (resp. max_df) may be too high (resp. too low).

有人可以告诉我如何摆脱这个错误吗?

默认情况下(在sklearn <= 0.13中), min_df设置为min_df=2 ,这意味着每个单词必须至少出现在语料库的2个不同文档中,才能包含在矢量化程序的词汇表中。 尽管这对于大型语料库来说是一个合理的选择,但要获得包含在玩具数据集中的任何内容(只有几句话)的限制都太严格了,因此您得到的错误消息非常明确。 在scikit-learn的开发分支中,将min_df=2默认值更改为min_df=1 ,以减少对尝试使用玩具数据集上具有默认参数值的库的新用户的困惑。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM