如何标准化 scikit-learn 中的 TF*IDF 或计数?

Posted

技术标签:

【中文标题】如何标准化 scikit-learn 中的 TF*IDF 或计数?【英文标题】:How to normalize TF*IDF or counts in scikit-learn? 【发布时间】:2019-11-14 23:24:08 【问题描述】:

我想检查两个具有不同长度的文档的余弦相似度(比如说一个是一个或两个行,而另一个是 100-200 行)。

为此,我需要一种方法来规范化 tfidf 或在 scikit-learn 中计数矢量化器。

【问题讨论】:

需要使用余弦相似度吗?还是愿意接受任何其他尝试? 到目前为止你尝试了什么? @Tiago Duque 我需要余弦相似度 @dmh 余弦相似度使用 CountVecorizer, TfIdf 【参考方案1】:

TfidfVectorizer 具有处理此问题的属性norm(请参阅the docs)。例如,尝试这样的事情:

vectorizer = TfidfVectorizer(analyzer='word', stop_words='english', norm='l2')

这将规范化向量以解决文档长度的差异。

【讨论】:

以上是关于如何标准化 scikit-learn 中的 TF*IDF 或计数?的主要内容,如果未能解决你的问题,请参考以下文章

Scikit-learn 之 TF-IDF

scikit-learn TF-IDF

您如何使用 scikit-learn 中的惯性计算差距统计的标准偏差?

使用 scikit-learn 从一组文档中仅找到所选单词的 Tf-Idf 分数

Python中计算TF-IDF(scikit-learn)

python TF IDF在Python中与Scikit-Learn实现一起解释