首页 > 编程语言 >亦菲喊你来学机器学习(14) --贝叶斯算法

亦菲喊你来学机器学习(14) --贝叶斯算法

时间:2024-08-28 15:21:44浏览次数:14  
标签:1.00 概率 14 -- 模型 来学 贝叶斯 train test

文章目录

贝叶斯

贝叶斯算法(Bayesian algorithm)是一种基于贝叶斯定理的机器学习方法,主要用于估计模型参数和进行概率推断。以下是对贝叶斯算法的详细解析:

一、贝叶斯定理

贝叶斯定理是概率论中的一个基本定理,它描述了条件概率之间的关系。该定理的数学表达式为:

P(AB)=P(B)P(BA)⋅P(A)

其中:

  • P(AB) 表示在事件B发生的条件下,事件A发生的概率,即后验概率。
  • P(BA) 表示在事件A发生的条件下,事件B发生的概率。
  • P(A) 表示事件A发生的概率,即先验概率。
  • P(B) 表示事件B发生的概率。

二、贝叶斯算法的核心概念

  1. 先验概率:在观测到数据之前对模型参数的概率分布的估计,反映了我们的先验信念或领域知识。
  2. 似然函数:表示在给定模型参数的情况下观测到数据的概率分布。
  3. 后验概率:在考虑观测数据后,参数的概率分布。
  4. 边际概率:观测数据的概率,通常用于将后验概率归一化,以获得有效的后验分布。

三、贝叶斯算法的优点与局限

优点:

  • 对不确定性建模:贝叶斯算法能够自然地处理不确定性,并给出概率形式的预测结果。
  • 融入领域知识:通过先验概率的设置,可以方便地融入领域知识和专家经验。
  • 适用于小样本数据:在小样本数据下也能获得较好的预测效果。

局限:

  • 计算复杂性:在高维空间或大规模数据集上,贝叶斯算法的计算复杂度可能较高。
  • 先验选择的敏感性:先验概率的选择对后验概率的计算结果有较大影响,需要谨慎选择。

四、构建模型

构建一个完整的模型,需要完成以下两个步骤:

  1. 训练模型
  2. 测试模型

训练模型

  1. 收集数据
    链接: 训练数据
    提取码: hpvr

  2. 数据预处理

去除无关数据,划分训练集、测试集:

import pandas as pd
import numpy as np

data = pd.read_csv('iris.csv')
x = data.iloc[:,1:5]
y = data.iloc[:,-1]
from sklearn.model_selection import train_test_split
train_x,test_x,train_y,test_y = \
    train_test_split(x,y,test_size=0.2,random_state=0)
  1. 构建模型

创建一个空白模型,填入训练数据,训练模型:

from sklearn.naive_bayes import MultinomialNB

classifier = MultinomialNB()
classifier.fit(train_x,train_y)

测试模型

  1. 测试训练集本身数据,查看训练效果:
from sklearn import metrics
train_predict = classifier.predict(train_x)
print(metrics.classification_report(train_y,train_predict))
-----------------------------
              precision    recall  f1-score   support

           0       1.00      1.00      1.00        39
           1       1.00      1.00      1.00        40

    accuracy                           1.00        79
   macro avg       1.00      1.00      1.00        79
weighted avg       1.00      1.00      1.00        79
  1. 将划分出的测试集填入模型测试,查看实用广泛效果:
test_predict = classifier.predict(test_x)
print(metrics.classification_report(test_y,test_predict))
----------------------
              precision    recall  f1-score   support

           0       1.00      1.00      1.00        10
           1       1.00      1.00      1.00        10

    accuracy                           1.00        20
   macro avg       1.00      1.00      1.00        20
weighted avg       1.00      1.00      1.00        20

这样我们就训练好一个贝叶斯模型啦!!

总结

本篇介绍了:

  1. 贝叶斯如何分类:简单来说就是通过计算每种类别的概率来分类
  2. 贝叶斯的优缺点
  3. 如何构建贝叶斯模型

标签:1.00,概率,14,--,模型,来学,贝叶斯,train,test
From: https://blog.csdn.net/m0_74896766/article/details/141639152

相关文章

  • 会员通知短信怎么利用NodeJS发送短信
    会员通知群发短信以其即时高效、高打开率、个性化定制、成本效益高、跨平台兼容以及法律合规等优势,在现代会员管理和营销策略中占据了重要地位。对于希望提升会员沟通效率、增强用户粘性和促进业务增长的企业而言,合理利用群发短信工具无疑是一个明智的选择。支持免费试用下乐......
  • Java后端微服务架构下的配置动态刷新:Spring Cloud Bus
    Java后端微服务架构下的配置动态刷新:SpringCloudBus大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在微服务架构中,服务的配置管理是一个挑战,尤其是当配置需要动态更新时。SpringCloudBus提供了一种基于消息总线的配置刷新机制,允许配置更改在服务......
  • 【SQL练习】demo1
    为了适应技术发展的需求,SQL标准于2016年增加了以下JSON功能:JSON对象的存储与检索。将JSON对象表示成SQL数据。将SQL数据表示成JSON对象。如今,主流关系型数据库都增加了原生JSON数据类型和相关函数的支持,使得我们可以将SQL的强大功能与JSON文档存储的灵......
  • 原生拖拽
    <template          v-for="(item,index)ininfo.data"          :key="index"        ><divclass="sub-set"draggabl......
  • Java后端分布式系统的服务健康检查:Spring Boot Health
    Java后端分布式系统的服务健康检查:SpringBootHealth大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在分布式系统中,服务的健康检查是确保服务可用性和稳定性的关键环节。SpringBootHealth提供了一种标准化的方式来检查和管理服务的健康状态。服......
  • vue3 常用的几种组件通讯方式
    vue3常用的几种组件通讯方式,大致如下Props/EmitPinia事件总线(mitt)Provide/Inject浏览器本地存储 1.Props/Emit注释:prop属性名称/方法名称的格式,采用 camelCase 与 kebab-case。 1.1props(1)上游组件设置 prop 值(通过v-bind或冒号) 或者 (2)下游......
  • Java后端微服务架构下的服务依赖注入:Spring Cloud Context
    Java后端微服务架构下的服务依赖注入:SpringCloudContext大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在微服务架构中,服务间的依赖关系错综复杂,服务依赖注入是实现服务解耦和动态管理的关键技术。SpringCloudContext提供了一种机制,允许在Spring......
  • 【阅己书城】docker搭建
    1卸载系统之前的dockersudoyumremovedockerdocker-clientdocker-client-latestdocker-commondocker-latestdocker-latest-logrotatedocker-logrotatedocker-engine2设置存储库sudoyuminstall-yyum-utilssudoyum-config-manager--add-repohttps:/......
  • 简化登录流程,助力应用建立用户体系
    随着智能手机和移动应用的普及,用户需要在不同的应用中注册和登录账号,传统的账号注册和登录流程需要用户输入用户名和密码,这不仅繁琐而且容易造成用户流失。华为账号服务(AccountKit)提供简单、快速、安全的登录功能,让用户快捷地使用华为账号登录应用。用户授权后,华为账号可提供头......
  • MT5016A-ASEMI无人机专用整流桥MT5016A
    编辑:llMT5016A-ASEMI无人机专用整流桥MT5016A型号:MT5016A品牌:ASEMI封装:D-63批号:2024+分类:整流桥特性:整流方桥、整流桥平均正向整流电流(Id):50A最大反向击穿电压(VRM):1600V恢复时间:>2000ns结温:-55℃~150℃正向峰值电压:1.05V~1.25V引脚数量:5芯片个数:6芯片尺寸:MILMT5016A......