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

前言

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

相关推荐
EveryPossible1 小时前
穿透iframe
学习
木木木一1 小时前
Rust学习记录--C7 Package, Crate, Module
开发语言·学习·rust
落羽凉笙7 小时前
Python学习笔记(3)|数据类型、变量与运算符:夯实基础,从入门到避坑(附图解+代码)
笔记·python·学习
Quintus五等升8 小时前
深度学习①|线性回归的实现
人工智能·python·深度学习·学习·机器学习·回归·线性回归
ytttr8738 小时前
隐马尔可夫模型(HMM)MATLAB实现范例
开发语言·算法·matlab
点云SLAM9 小时前
凸优化(Convex Optimization)理论(1)
人工智能·算法·slam·数学原理·凸优化·数值优化理论·机器人应用
jz_ddk9 小时前
[学习] 卫星导航的码相位与载波相位计算
学习·算法·gps·gnss·北斗
放荡不羁的野指针9 小时前
leetcode150题-动态规划
算法·动态规划
sin_hielo9 小时前
leetcode 1161(BFS)
数据结构·算法·leetcode
一起努力啊~9 小时前
算法刷题-二分查找
java·数据结构·算法