基础:贝叶斯定理

朴素贝叶斯分类器的数学基础是贝叶斯定理。这个定理告诉我们如何根据新的证据来更新我们对一个事件的信念(概率)。

P(A|B) = (P(B|A) * P(A)) / P(B)

  • P(A|B) (后验概率): 在事件 B 发生后,事件 A 发生的概率。
  • P(B|A) (似然度): 在事件 A 发生的情况下,事件 B 发生的概率。
  • P(A) (先验概率): 在没有任何证据的情况下,事件 A 发生的概率。
  • P(B) (证据): 事件 B 发生的概率。

核心:“朴素”的特征条件独立假设

朴素贝叶斯的“朴素”之处在于它做了一个非常强的假设:所有特征之间相互独立。这意味着模型认为一个特征的出现与其他特征的出现毫无关系。

例如,在判断一封邮件是否为垃圾邮件时:模型会“天真地”认为,邮件中出现“中奖”这个词的概率,与它是否出现“免费”这个词是完全无关的。虽然现实中这两个词经常一起出现,但这个“朴素”的假设极大地简化了计算,使得算法非常高效。

动手试试:模拟垃圾邮件分类器

假设我们已经统计好了每个词在“垃圾邮件”和“正常邮件”中出现的概率。勾选下面邮件中出现的词语,观察分类器如何一步步计算出最终的分类概率。

from sklearn.naive_bayes import MultinomialNB # X: 文本特征 (如单词计数) # y: 标签 (spam, not_spam) X, y = ... # 创建并训练朴素贝叶斯模型 model = MultinomialNB() model.fit(X, y) # 预测新邮件 new_email = ["恭喜您中奖..."] prediction = model.predict(new_email)

选择邮件中的词语: