千家信息网

python朴素贝叶斯怎么实现

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍了python朴素贝叶斯怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python朴素贝叶斯怎么实现文章都会有所收获,下面我们一起来看看吧。背景介
千家信息网最后更新 2026年11月03日python朴素贝叶斯怎么实现

这篇文章主要介绍了python朴素贝叶斯怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python朴素贝叶斯怎么实现文章都会有所收获,下面我们一起来看看吧。

背景介绍

这是一种基于贝叶斯定理的分类技术,假设预测变量之间具有独立性。简而言之,朴素贝叶斯分类器假定类中某个特定特征的存在与任何其他特征的存在无关。例如,如果水果是红色,圆形且直径约3英寸,则可以将其视为苹果。即使这些特征相互依赖或依赖于其他特征的存在,朴素的贝叶斯分类器也会考虑所有这些特征,以独立地促成该果实是苹果的可能性。

朴素贝叶斯模型易于构建,对于非常大的数据集特别有用。 除了简单之外,朴素贝叶斯(Naive Bayes)还胜过非常复杂的分类方法。

贝叶斯定理提供了一种从P(c),P(x)和P(x | c)计算后验概率P(c | x)的方法。

这里,

  • P(c | x)是给定预测变量(属性)的类(目标)的后验概率。

  • P(c)是分类的先验概率。

  • P(x | c)是似然度,它是预测变量给定类别的概率。

  • P(x)是预测变量的先验概率。


例子:让我们通过一个例子来理解它。下面是天气的训练数据集和相应的目标变量"玩耍"。现在,我们需要根据天气情况对玩家是否参加比赛进行分类。让我们按照以下步骤进行操作。


步骤1:将资料集转换为频率表


步骤2:通过找到概率(如阴天概率= 0.29和游戏概率为0.64)来创建似然度表。

步骤3:现在,使用朴素贝叶斯方程来计算每个类别的后验概率。后验概率最高的类别是预测的结果。


问题:如果天气晴朗,玩家将出去玩,这个说法正确吗?


我们可以使用上面讨论的方法来解决它,所以 P(Yes | Sunny) = P( Sunny | Yes) * P(Yes) / P (Sunny)

这里我们有 P (Sunny |Yes) = 3/9 = 0.33, P(Sunny) = 5/14 = 0.36, P( Yes)= 9/14 = 0.64

现在,P (Yes | Sunny) = 0.33 * 0.64 / 0.36 = 0.60,这更有可能。


朴素贝叶斯(Naive Bayes)使用类似的方法根据各种属性来预测不同类别的概率。该算法主要用于文本分类,并且存在多个类的问题。

用Python编写一个朴素贝叶斯分类模型:

'''The following code is for Naive BayesCreated by - ANALYTICS VIDHYA'''
# importing required librariesimport pandas as pdfrom sklearn.naive_bayes import GaussianNBfrom sklearn.metrics import accuracy_score
# read the train and test datasettrain_data = pd.read_csv('train-data.csv')test_data = pd.read_csv('test-data.csv')
# shape of the datasetprint('Shape of training data :',train_data.shape)print('Shape of testing data :',test_data.shape)
# Now, we need to predict the missing target # variable in the test data# target variable - Survived
# seperate the independent and target variable on training datatrain_x = train_data.drop(columns=['Survived'],axis=1)train_y = train_data['Survived']
# seperate the independent and target variable on testing datatest_x = test_data.drop(columns=['Survived'],axis=1)test_y = test_data['Survived']
'''Create the object of the Naive Bayes modelYou can also add other parameters and test your code hereSome parameters are : var_smoothingDocumentation of sklearn GaussianNB:
https://scikit-learn.org/stable/modules/generated/sklearn.naive_bayes.GaussianNB.html
'''model = GaussianNB()
# fit the model with the training datamodel.fit(train_x,train_y)
# predict the target on the train datasetpredict_train = model.predict(train_x)print('Target on train data',predict_train)
# Accuray Score on train datasetaccuracy_train = accuracy_score(train_y,predict_train)print('accuracy_score on train dataset : ', accuracy_train)
# predict the target on the test datasetpredict_test = model.predict(test_x)print('Target on test data',predict_test)
# Accuracy Score on test datasetaccuracy_test = accuracy_score(test_y,predict_test)print('accuracy_score on test dataset : ', accuracy_test)

运行结果:

Shape of training data : (712, 25)Shape of testing data : (179, 25)Target on train data [1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]accuracy_score on train dataset :  0.44803370786516855Target on test data [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]accuracy_score on test dataset :  0.35195530726256985

关于"python朴素贝叶斯怎么实现"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"python朴素贝叶斯怎么实现"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

贝叶 朴素 概率 分类 变量 特征 方法 步骤 类别 天气 知识 例子 先验 内容 定理 属性 数据 模型 玩家 目标 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网是第几次科技革命的成果 科技互联网企业 互联网科技公司官网 致骋互联网科技 华中科技大学互联网 天下捷融互联网科技 互联网养老 桔豆科技 卓越科技互联网 招聘 美国互联网前沿科技 深圳卡尔迅互联网科技有限公司怎么样 山东吉时兔互联网科技有限公司 哈尔滨新华互联网科技学院 来此购互联网科技有限公司 新兴科技互联网创新大赛颁奖典礼 众安科技工业互联网合作 上海同邻互联网科技有限公司规模 全球科技与互联网公司市值变化 互联网科技对化妆品行业 网互联网络科技 现代科技的标志之一的互联网 智能科技公司是互联网公司吗 浩特互联网科技 上海致骋互联网科技 赫美联合互联网科技 上海万想互联网科技 互联网科技有限公司 翻译 华中科技有哪些互联网大佬 中国科技创新与世界互联网大会 互联网时代科技型公司的机会 高科技和互联网的现代国家
0