lihang-code
lihang-code copied to clipboard
第4章 朴素贝叶斯算法实现中的先验概率问题
您好,我对贝叶斯算法实现中的先验概率有些疑惑 `
计算概率
def calculate_probabilities(self, input_data):
# summaries:{0.0: [(5.0, 0.37),(3.42, 0.40)], 1.0: [(5.8, 0.449),(2.7, 0.27)]}
# input_data:[1.1, 2.2]
probabilities = {}
for label, value in self.model.items():
probabilities[label] = 1 #probability[label]=1???
for i in range(len(value)):
mean, stdev = value[i]
probabilities[label] *= self.gaussian_probability(input_data[i], mean, stdev)
return probabilities
`
为什么这里的probabilities[label]可以直接赋值为1呢,这样所有的类的先验概率是不是都一样了,为什么不根据样本计算这里的probabilities[label]呢 谢谢解答
同问
同问……划分数据后类别不平衡了,先验概率应该不相等了吧
是有问题,没有乘先验概率,作者不出来回应一下吗
同问,希望能更改下
确实少了先验概率,训练集的两类样本是不均衡的,一个是39,一个是31
同样有疑问,看了好久代码没找到先验概率计算。
看了他给的链接,原始文章里面是写了先验概率的
This is Nicholas. I've received your mail.
Thank you. Your email is received and will be handled as soon as possible.Best Regards.This is an automatic reply,confirming that your e-mail was received.Thank you.
您好!很开心收到您的邮件。我将在查看邮件后,尽快给您回复。
您好,我已经收到您的邮件,稍后我将尽快给你回复。