Scikit learn 如何将TFIDF向量与多项式朴素贝叶斯结合使用?

Scikit learn 如何将TFIDF向量与多项式朴素贝叶斯结合使用?,scikit-learn,tf-idf,naivebayes,Scikit Learn,Tf Idf,Naivebayes,假设我们使用TFIDF转换将文档编码为连续值特征 我们现在如何使用它作为朴素贝叶斯分类器的输入 伯努利朴素贝叶斯(Bernoulli naive bayes)被淘汰了,因为我们的功能不再是二进制的了。 似乎我们也不能使用多项式朴素贝叶斯,因为这些值是连续的而不是绝对的 作为替代方案,是否适合使用高斯朴素贝叶斯?在高斯分布假设下,TFIDF向量是否可能保持良好 sci工具包中关于MultionomialNB的学习文档建议如下: 多项式朴素贝叶斯分类器适合于分类 具有离散特征(例如,文本分类的字数)

假设我们使用TFIDF转换将文档编码为连续值特征

我们现在如何使用它作为朴素贝叶斯分类器的输入

伯努利朴素贝叶斯(Bernoulli naive bayes)被淘汰了,因为我们的功能不再是二进制的了。
似乎我们也不能使用多项式朴素贝叶斯,因为这些值是连续的而不是绝对的

作为替代方案,是否适合使用高斯朴素贝叶斯?在高斯分布假设下,TFIDF向量是否可能保持良好

sci工具包中关于MultionomialNB的学习文档建议如下:

多项式朴素贝叶斯分类器适合于分类 具有离散特征(例如,文本分类的字数)。 多项式分布通常需要整数特征计数。 然而,在实践中,tf idf等分数计数也可能起作用

对多项式nb使用分数不是根本不可能吗?
据我所知,似然函数本身假设我们处理的是离散计数()


TFIDF值如何与此公式配合使用?

从技术上讲,您是对的。(传统)多项式N.B模型将文档D视为一个词汇大小的特征向量<强> x,其中每个元素席是名词I I文档的计数D。根据定义,该向量<强> x然后服从多项式分布,从而导致MNB的特征分类函数。 当使用TF-IDF权重而不是项计数时,我们的特征向量(很可能)不再遵循多项式分布,因此分类函数在理论上不再有充分的依据然而,事实证明tf idf权重比计数更有效

TFIDF值如何使用此公式

以完全相同的方式,除了特征向量x现在是tf idf权重的向量,而不是计数


您还可以查看在中实现的子线性tf idf加权方案。在我自己的研究中,我发现这一项表现得更好:它使用了频率这个术语的对数版本。其思想是当一个查询词在doc中出现20次时。a和1次在doc中。b、 博士。a不应该(可能)被认为是20倍重要,但更可能是对数(20)倍重要。

如果使用对数版本作为频率,这会改变tf idf的范围,对吗?如果没有日志缩放,tf idf值必须大于等于0,但如果使用日志缩放,tf值必须大于等于0