当前位置: 首页 > article >正文

机器学习——朴素贝叶斯

        朴素贝叶斯是一种基于贝叶斯定理的分类算法,其基本原理是利用特征之间的条件独立性假设来进行分类。它被称为“朴素”是因为它假设特征之间是独立的,这在现实中往往不成立,但在许多实际应用中,朴素贝叶斯算法依然表现良好。

原理

1、贝叶斯定理

 2、特征独立性假设(朴素假设):

        朴素贝叶斯算法的关键假设是:给定类别的情况下,各特征之间是条件独立的。也就是说,特征 X1,X2,…,Xn在给定类别C时,相互之间没有依赖关系。因此,似然函数P(X∣C) 可以拆解为各个特征的乘积:

3、分类规则

        计算每个类别 CCC 的后验概率 P(C∣X),然后选择后验概率最大的类别作为预测结果(分类决策):

        注:实际过程中P(X)不需要计算,因为最终比较不同类别下P(X∣C)的概率,不同类别下P(X)是相同的,是一个常数。则有等价关系:

 因此,分类决策可以简化为:

其中,

 

 示例代码

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# 加载鸢尾花数据集
iris = load_iris()
X = iris.data  # 特征
y = iris.target  # 标签

# 数据划分
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# 初始化模型
model = GaussianNB()

# 训练模型
model.fit(X_train, y_train)

# 预测
y_pred = model.predict(X_test)

accuracy = accuracy_score(y_test, y_pred)
print(f"模型准确率: {accuracy:.4f}")

# 输出结果:
# 模型准确率: 0.9778

优点

  • 简单、易于实现,计算效率高。

  • 对小样本数据有良好的表现,特别适合文本分类等领域。

  • 对缺失数据不敏感,能够处理多类别问题。

缺点

  • 朴素假设(特征独立性)往往不成立,导致模型性能下降,特别是特征之间存在较强相关性时。

  • 对于特征中出现的未知值或者概率为零的情况,可能会影响分类结果。


http://www.kler.cn/a/392321.html

相关文章:

  • qt QKeySequence详解
  • JFROG相关API
  • Vue 3 介绍及应用
  • 前端神经网络入门(三):深度学习与机器学习的关系、区别及核心理论支撑 - 以Brain.js示例
  • WebRTC API分析
  • 利用滑动窗口解题
  • C++ QT 工具日志异步分批保存
  • 英伟达Isaac Manipulator产品体验
  • 【Vue3】知识汇总,附详细定义和源码详解,后续出微信小程序项目(3)
  • Error response from daemon:
  • OCRSpace申请free api流程
  • Power bi中的lookupvalue函数
  • Oracle In子句
  • 每日OJ题_牛客_春游_贪心+数学_C++_Java
  • Spark:背压机制
  • 南山前海13元一份的猪脚饭
  • mysql 几种启动和关闭mysql方法介绍
  • 青少年编程与数学 02-003 Go语言网络编程 18课题、Go语言Session编程
  • 大语言模型:解锁自然语言处理的无限可能
  • 鸿蒙UI开发——实现环形文字
  • 硬件---1电路设计安全要点以及欧姆定律
  • 【月之暗面kimi-注册/登录安全分析报告】
  • 如何在Puppeteer中实现表单自动填写与提交:问卷调查
  • k8s更新
  • 【Element】vue2 el-table scope.row 更改数据,试图没有更新
  • 《情商》提升:增强自我意识,学会与情绪共处