【发布时间】:2021-05-12 04:39:19
【问题描述】:
我正在读一本关于机器学习的书。在朴素贝叶斯一章中,我遇到了一个问题:
# Create Bernoulli Naive Bayes object with prior probabilities of each class
classifer = BernoulliNB(class_prior=[0.25, 0.5])
目标向量只有两个类别(Binary Classification)。
为什么class_prior 列表的值总和不等于 1?两个可能的类别,两个先验概率。所以这似乎是一个矛盾。我是否忘记了统计中的某些内容?我是否以错误的方式理解class_prior?
【问题讨论】:
-
这取决于
BernoulliNB到底是什么。 -
应该等于1;可能是印刷错误
-
当前
sklearn版本(0.24)检查先验总和为1 here;我还没有深入研究修订历史,看看它是否可能会在内部重新调整,但更有可能是印刷错误。 -
天啊!这些链接是针对
GaussianNB的,对于BernoulliNB没有进行类似的检查。
标签: python machine-learning scikit-learn classification naivebayes