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

前言

本次数据继续沿用上一次主题的【组队学习------支持向量机-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行数据为测试集数据

相关推荐
奶香臭豆腐24 分钟前
C++ —— 模板类具体化
开发语言·c++·学习
游是水里的游30 分钟前
【算法day19】回溯:分割与子集问题
算法
不想当程序猿_30 分钟前
【蓝桥杯每日一题】分糖果——DFS
c++·算法·蓝桥杯·深度优先
南城花随雪。1 小时前
单片机:实现FFT快速傅里叶变换算法(附带源码)
单片机·嵌入式硬件·算法
dundunmm1 小时前
机器学习之scikit-learn(简称 sklearn)
python·算法·机器学习·scikit-learn·sklearn·分类算法
古希腊掌管学习的神1 小时前
[机器学习]sklearn入门指南(1)
人工智能·python·算法·机器学习·sklearn
波音彬要多做1 小时前
41 stack类与queue类
开发语言·数据结构·c++·学习·算法
m0_748256782 小时前
WebGIS实战开源项目:智慧机场三维可视化(学习笔记)
笔记·学习·开源
程序员老冯头3 小时前
第十五章 C++ 数组
开发语言·c++·算法
南七澄江3 小时前
各种网站(学习资源及其他)
开发语言·网络·python·深度学习·学习·机器学习·ai