什么是“优先班”?

2024-06-16 19:21:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在读一本关于机器学习的书。在NaiveBayes一章中,我遇到了一个问题:

# Create Bernoulli Naive Bayes object with prior probabilities of each class
classifer = BernoulliNB(class_prior=[0.25, 0.5])

目标向量只有两类(二元分类)

为什么class_prior列表的值总和不等于1?两个可能的类别,两个先验概率。所以这似乎是一个矛盾。我忘了统计中的一些东西了吗?我对class_prior的理解有误吗


Tags: of机器objectcreatewithclasseachbernoulli
1条回答
网友
1楼 · 发布于 2024-06-16 19:21:18

这似乎是个印刷错误GaussianNB检查优先级的总和是否为1here,但基于_BaseDiscreteNB的模型不检查。见_update_class_log_priorfit

模型似乎默默地接受了先验知识。来自predict_proba的最终输出似乎产生了相同的输出,就好像您缩放了之前的单位和一样;联合对数似然是均匀移动的,我猜数学计算出来了(我没有检查),所以实际预测是相同的。如果有兴趣,请查看this notebook

相关问题 更多 >