机器学习 --- 预测天气是否适合出去游玩(一)| 贝叶斯

2024-03-25 22:59

本文主要是介绍机器学习 --- 预测天气是否适合出去游玩(一)| 贝叶斯,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

🌮开发平台:jupyter lab

🍖运行环境:python3、TensorFlow2.x

预测天气是否适合出去游玩(一)| 贝叶斯

  • 2. 代码实现部分

题目:如图所示
解法
(1)机器学习 — 预测天气是否适合出去游玩(一)| 贝叶斯
(2)机器学习 — 预测天气是否适合出去游玩(二)| 逻辑回归
(3)机器学习 — 预测天气是否适合出去游玩(三)| 神经网络mlp
在这里插入图片描述

2. 代码实现部分

# -*- coding: utf-8 -*-
## 1.转换数据:ont-hot编码
## 2.模型:BernoulliNB()
## 3.交叉验证模型:cross_val_score()
import pandas
#读取数据到 data 变量中
data = pandas.read_csv('./machine.csv', encoding='utf8', engine='python'
)
#填充缺失值,把所有放弃投票的值填充为字符串None
data = data.fillna("None")
## 获取关键字
data.keys()

在这里插入图片描述

# 将所有属性作为特征
features = ['天气状况', '温度', '湿度', '风力'
]
### 转换变量
from sklearn.preprocessing import OneHotEncoder
#新建独热编码器
oneHotEncoder = OneHotEncoder()
#训练独热编码器,得到转换规则
oneHotEncoder.fit(data[features])
#转换数据
oneHotData = oneHotEncoder.transform(data[features])
## 获取构造器
#伯努利贝叶斯
from sklearn.naive_bayes import BernoulliNB
BNBModel = BernoulliNB()
from sklearn.model_selection import cross_val_score
#进行K折交叉验证
cvs = cross_val_score(BNBModel, oneHotData, data['是否适合游玩'], cv=4)
cvs.mean()   # out: 0.6875
## 实例化模型
BNBModel = BernoulliNB()
#使用所有数据训练模型
BNBModel.fit(oneHotData, data['是否适合游玩'])
#对所有的数据进行预测
data['预测是否适合出去游玩'] = BNBModel.predict(oneHotData)
from sklearn.metrics import confusion_matrix
#计算混淆矩阵,labels参数,可由 BNBModel.classes_ 得到
confusion_matrix(data['是否适合游玩'], data['预测是否适合出去游玩'], labels=['是', '否']
)

在这里插入图片描述

pandas.crosstab(data['是否适合游玩'], data['预测是否适合出去游玩'])

在这里插入图片描述

### 查看贝叶斯预测情况
### 从下图可看出,仅红色部分预测错误,准确率较高;
### 可通过增加数据量提高预测准确值
data

在这里插入图片描述

这篇关于机器学习 --- 预测天气是否适合出去游玩(一)| 贝叶斯的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/846528

相关文章

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

Java实现检查多个时间段是否有重合

《Java实现检查多个时间段是否有重合》这篇文章主要为大家详细介绍了如何使用Java实现检查多个时间段是否有重合,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录流程概述步骤详解China编程步骤1:定义时间段类步骤2:添加时间段步骤3:检查时间段是否有重合步骤4:输出结果示例代码结语作

Java判断多个时间段是否重合的方法小结

《Java判断多个时间段是否重合的方法小结》这篇文章主要为大家详细介绍了Java中判断多个时间段是否重合的方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录判断多个时间段是否有间隔判断时间段集合是否与某时间段重合判断多个时间段是否有间隔实体类内容public class D

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

C#比较两个List集合内容是否相同的几种方法

《C#比较两个List集合内容是否相同的几种方法》本文详细介绍了在C#中比较两个List集合内容是否相同的方法,包括非自定义类和自定义类的元素比较,对于非自定义类,可以使用SequenceEqual、... 目录 一、非自定义类的元素比较1. 使用 SequenceEqual 方法(顺序和内容都相等)2.

查询Oracle数据库表是否被锁的实现方式

《查询Oracle数据库表是否被锁的实现方式》本文介绍了查询Oracle数据库表是否被锁的方法,包括查询锁表的会话、人员信息,根据object_id查询表名,以及根据会话ID查询和停止本地进程,同时,... 目录查询oracle数据库表是否被锁1、查询锁表的会话、人员等信息2、根据 object_id查询被

什么是 Linux Mint? 适合初学者体验的桌面操作系统

《什么是LinuxMint?适合初学者体验的桌面操作系统》今天带你全面了解LinuxMint,包括它的历史、功能、版本以及独特亮点,话不多说,马上开始吧... linux Mint 是一款基于 Ubuntu 和 Debian 的知名发行版,它的用户体验非常友好,深受广大 Linux 爱好者和日常用户的青睐,

shell脚本快速检查192.168.1网段ip是否在用的方法

《shell脚本快速检查192.168.1网段ip是否在用的方法》该Shell脚本通过并发ping命令检查192.168.1网段中哪些IP地址正在使用,脚本定义了网络段、超时时间和并行扫描数量,并使用... 目录脚本:检查 192.168.1 网段 IP 是否在用脚本说明使用方法示例输出优化建议总结检查 1

如何测试计算机的内存是否存在问题? 判断电脑内存故障的多种方法

《如何测试计算机的内存是否存在问题?判断电脑内存故障的多种方法》内存是电脑中非常重要的组件之一,如果内存出现故障,可能会导致电脑出现各种问题,如蓝屏、死机、程序崩溃等,如何判断内存是否出现故障呢?下... 如果你的电脑是崩溃、冻结还是不稳定,那么它的内存可能有问题。要进行检查,你可以使用Windows 11

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert