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

前言

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

相关推荐
山土成旧客17 小时前
【Python学习打卡-Day22】启航Kaggle:从路径管理到独立项目研究的全方位指南
开发语言·python·学习
练习时长一年17 小时前
在排序数组中查找元素的第一个和最后一个位置
数据结构·算法·leetcode
QiZhang | UESTC17 小时前
学习日记day50
学习
资深web全栈开发17 小时前
LeetCode 3573. 买卖股票的最佳时机 V - 动态规划解法详解
算法·leetcode·动态规划
leiming617 小时前
C++ 01 函数模板
开发语言·c++·算法
Chen--Xing17 小时前
LeetCode LCR 119.最长连续序列
c++·python·算法·leetcode·rust
金枪不摆鳍18 小时前
算法2-链表
数据结构·算法·链表
yeshihouhou18 小时前
redis数据分片算法
redis·算法·哈希算法
走在路上的菜鸟18 小时前
Android学Dart学习笔记第十八节 类-继承
android·笔记·学习·flutter
李余博睿(新疆)18 小时前
c++经典练习题-分支练习(1)
数据结构·c++·算法