既不use_idf
也不sublinear_tf
与文档长度交易。实际上,您对use_idf
“频率高出X倍的术语不应比X倍重要的解释”的解释更适合sublinear_tf
作为sublinear_tf
在TFIDF原因对数增加得分相比词频。
use_idf
表示使用“反向文档频率”,以便与出现频率较低但仅出现在特定文档中的词语相比,出现频率最高的词语在大多数文档中出现的程度(即不良指标)的权重较小。好指标)。
为了减少文件的长度偏差,使用标准化(norm
在TfidfVectorizer参数),你按比例缩放每个词的TFIDF分数基于该文档的总得分(简单平均norm=l1
,对平均的平方norm=l2
)
默认情况下,TfidfVectorizer已使用norm=l2
,所以我不确定是什么导致了您所面临的问题。也许那些较长的文档确实也包含类似的单词?此外分类通常依赖大量的数据,所以我不能说太多,在这里为您解决问题。
参考文献:
TfidfVectorizer文档
维基百科
斯坦福书