组队学习——贝叶斯分类器

前言

本次数据继续沿用上一次主题的【组队学习------支持向量机-CSDN博客

数据处理部分延续【组队学习------支持向量机】主题的处理办法对应划分训练集和验证集

模型选择

本次贝叶斯分类器模型的较多,常用的为高斯朴素贝叶斯分类器、多项式朴素贝叶斯分类器、伯努利朴素贝叶斯分类器、补充朴素贝叶斯分类器、分类朴素贝叶斯分类器

【参考文献:常见机器学习模型(一)------ 贝叶斯分类器_贝叶斯模型-CSDN博客

1、理解正向概率、逆向概率的定义

2、理解逆向概率引申出来的先验概率、经验概率、条件概率的定义

正向概率:上帝视角,即了解了事情的全貌再做判断

逆向概率:事先不知道,通过经验 或者后验结果 或者相应条件才了解事件的全貌

借用博主【知了爱啃代码】的贝叶死病的例子帮助大家更好理解什么是贝叶斯公式,如下所示:

常见机器学习模型(一)------ 贝叶斯分类器_贝叶斯模型-CSDN博客https://blog.csdn.net/rongsenmeng2835/article/details/107778187理解原理后再了解一下对应贝叶斯分类器的类别

  • 高斯朴素贝叶斯适用于连续数据。
  • 多项式和伯努利朴素贝叶斯更适用于离散和二元数据。
  • 补充朴素贝叶斯是多项式朴素贝叶斯的改进版本,适用于类别不平衡的问题。
  • 分类朴素贝叶斯适用于分类特征的数据。

步骤1:先理解上述四种贝叶斯分类器的原理,判断本数据适用于哪种分类器的要求

步骤2:对比以上四种贝叶斯分类器,用代码计算出哪一类分类器的准确率最高

代码如下:

python 复制代码
# 高斯朴素贝叶斯
gaussian_model = GaussianNB()
gaussian_model.fit(X_train, Y_train)
Y_pred = gaussian_model.predict(X_valid)
print(f"Gaussian Naive Bayes Accuracy: {accuracy_score(Y_valid, Y_pred)}")

# 多项式朴素贝叶斯
multinomial_model = MultinomialNB()
multinomial_model.fit(X_train, Y_train)
Y_pred = multinomial_model.predict(X_valid)
print(f"Multinomial Naive Bayes Accuracy: {accuracy_score(Y_valid, Y_pred)}")

# 伯努利朴素贝叶斯
bernoulli_model = BernoulliNB()
bernoulli_model.fit(X_train, Y_train)
Y_pred = bernoulli_model.predict(X_valid)
print(f"Bernoulli Naive Bayes Accuracy: {accuracy_score(Y_valid, Y_pred)}")

# 补充朴素贝叶斯
complement_model = ComplementNB()
complement_model.fit(X_train, Y_train)
Y_pred = complement_model.predict(X_valid)
print(f"Complement Naive Bayes Accuracy: {accuracy_score(Y_valid, Y_pred)}")

拓展学习

要求对鸢尾花数据集进行分类,如何进行数据预处理(提示:将分类数据转换成定量数据)

第2------145行数据为训练集和验证集数据

第146------151行数据为测试集数据

相关推荐
悠哉悠哉愿意5 分钟前
【数学建模学习笔记】机器学习分类:KNN分类
学习·机器学习·数学建模
四谎真好看11 分钟前
Java 学习笔记(进阶篇2)
java·笔记·学习
程序猿炎义21 分钟前
【NVIDIA AIQ】自定义函数实践
人工智能·python·学习
小陈phd34 分钟前
高级RAG策略学习(四)——上下文窗口增强检索RAG
人工智能·学习·langchain
j_xxx404_1 小时前
数据结构:栈和队列力扣算法题
c语言·数据结构·算法·leetcode·链表
南莺莺2 小时前
假设一个算术表达式中包含圆括号、方括号和花括号3种类型的括号,编写一个算法来判别,表达式中的括号是否配对,以字符“\0“作为算术表达式的结束符
c语言·数据结构·算法·
THMAIL2 小时前
深度学习从入门到精通 - 神经网络核心原理:从生物神经元到数学模型蜕变
人工智能·python·深度学习·神经网络·算法·机器学习·逻辑回归
野犬寒鸦2 小时前
力扣hot100:旋转图像(48)(详细图解以及核心思路剖析)
java·数据结构·后端·算法·leetcode
墨染点香2 小时前
LeetCode 刷题【61. 旋转链表】
算法·leetcode·职场和发展
Jayyih2 小时前
嵌入式系统学习DAY28(网络编程)
网络·学习·tcp/ip