贝叶斯详细分析,详细例子解释

本文深入解析贝叶斯定理,介绍了先验概率、后验概率和条件似然概率的概念,并通过两个逐步解析的应用例子展示其在实际问题中的运用。通过学习,读者将更好地理解和应用贝叶斯定理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写在前面:

       贝叶斯定理算是统计学中特别重要的了,像极大似然估计等一些重要的方法都是基于贝叶斯发展出来的,所以学好贝叶斯基本上可以认识到大半部分的统计知识,而且对数据分析的小伙伴面试有帮助额


一、定义事件A、B

    先验概率 P(A)

    后验概率P(A|B)

    条件似然概率P(B|A)

    B 的先验概率P(B),一般称为标淮化常量

  贝叶斯公式

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

       通过上面的贝叶斯公式,我们可以发现,已知先验概率、后验概率、条件似然概率、标准化常量四个值中的三个,就可求另一个未知的值。基本上我们都是已知先验概率、后验概率和标准化常量,然后去求条件似然概率。

二、应用场景

       这里举两个贝叶斯公式应用的例子,a题比较简单,b题是a题的升级版,涉及到一个先验概率的刷新,需要仔细去体会~,我会分步骤去介绍,求解过程。

       a题.  一机器在良好状态生产合格产品几率是90%,在故障状态生产合格产品几率是30%,机器良好的概率是75%,若一日第一件产品是合格品,那么此日机器良好的概率是多少。

      第一步:  定义事件,A : 机器良好;B : 第一件产品是合格品。确定问题是求解P(A|B)=?

      第二步:P(A)=0.75

                   

### 贝叶斯分类器应用于文本分析 贝叶斯分类器是一种概率统计分类算法,广泛应用于自然语言处理中的文本分类任务。下面展示如何利用朴素贝叶斯分类器进行简单的垃圾邮件过滤。 #### 数据准备阶段 为了构建有效的文本分类模型,首先需要收集并清理训练集。这通常涉及去除停用词、标点符号以及执行词干化操作等预处理工作[^1]。 ```python import numpy as np from sklearn.feature_extraction.text import CountVectorizer from sklearn.model_selection import train_test_split from sklearn.naive_bayes import MultinomialNB from nltk.corpus import stopwords import re def preprocess_text(text): text = re.sub(r'\W', ' ', str(text)) text = text.lower() text = re.sub(r'^br$', ' ', text) text = re.sub(r'\s+br\s+', ' ', text) text = re.sub(r'\s+[a-z]\s+', ' ',text) text = re.sub(r'^b\s+', '', text) text = re.sub(r'\s+', ' ', text) return text documents = ["love my dalmation", "stupid garbage"] labels = [0, 1] cleaned_documents = [preprocess_text(doc) for doc in documents] vectorizer = CountVectorizer(stop_words=stopwords.words('english')) X = vectorizer.fit_transform(cleaned_documents).toarray() y = np.array(labels) # 划分训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) ``` #### 构建与训练模型 接下来创建一个多变量伯努利事件模型(Multinomial Naive Bayes),并将之前得到的特征向量输入给该模型来进行拟合。 ```python classifier = MultinomialNB(alpha=0.01) classifier.partial_fit(X_train, y_train, classes=np.unique(y)) ``` 这里`partial_fit()`函数允许增量式的学习过程,在线更新参数而不需要重新读取整个数据集[^3]。 #### 预测新文档所属类别 一旦完成了上述准备工作之后就可以使用已训练好的模型来预测新的未知样本属于哪个类别了: ```python test_doc = ["this dog is amazing"] processed_test_doc = [preprocess_text(test_doc[0])] new_X = vectorizer.transform(processed_test_doc).toarray() predicted_class = classifier.predict(new_X)[0] if predicted_class == 0: print(f"'{test_doc[0]}' 属于非侮辱类") else: print(f"'{test_doc[0]}' 属于侮辱类") ``` 此段代码展示了当遇到一条未见过的消息时怎样判断其情感倾向是正面还是负面[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值