当前位置: 首页 > news >正文

《Python机器学习》基础代码2

👂 逝年 - 夏小虎 - 单曲 - 网易云音乐

目录

👊Matplotlib综合应用:空气质量监测数据的图形化展示

🌼1,AQI时序变化特点

🌼2,AQI分布特征 + 相关性分析

🌼3,优化图形


👊Matplotlib综合应用:空气质量监测数据的图形化展示

🌼1,AQI时序变化特点

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt%matplotlib inline
plt.rcParams['font.sans-serif']=['SimHei'] #解决中文显示乱码问题
plt.rcParams['axes.unicode_minus']=Falsedata=pd.read_excel('北京市空气质量数据.xlsx')
data=data.replace(0,np.NaN) #数据框函数replace()将0替换为缺失值NaNplt.figure(figsize=(10,5)) #plt.figure说明图形一般特征, 此处指定宽10, 高5
plt.plot(data['AQI'],color='black',linestyle='-',linewidth='0.5') #plt.plot绘制折线图,并指定颜色等
plt.axhline(y=data['AQI'].mean(),color='red',linestyle='-',linewidth='0.5',label='AQI总平均值') #plt.axhline在参数y指定位置,画平行于横坐标的直线
data['年']=data['日期'].apply(lambda x:x.year)AQI_mean=data['AQI'].groupby(data['年']).mean().values #分组计算各年AQI平均值
year=['2014年','2015年','2016年','2017年','2018年','2019年'] 
col=['red','blue','green','yellow','purple','brown']
for i in range(6): #for循环绘制多条平行横坐标的直线plt.axhline(y=AQI_mean[i],color=col[i],linestyle='--',linewidth='0.5',label=year[i])plt.title('2014至2019年AQI时间序列折线图') #plt.title()标题
plt.xlabel('年份') #plt.xlabel()横坐标
plt.ylabel('AQI') #plt.ylabel()纵坐标
plt.xlim(xmax=len(data), xmin=1) #plt.xlim横坐标范围
plt.ylim(ymax=data['AQI'].max(),ymin=1) #plt.ylim纵坐标范围
plt.yticks([data['AQI'].mean()],['AQI平均值']) #指定刻度上给出标签 
plt.xticks([1,365,365*2,365*3,365*4,365*5],['2014','2015','2016','2017','2018','2019'])
plt.legend(loc='best') #plt.legend()指定位置显示图例
plt.text(x=list(data['AQI']).index(data['AQI'].max()),y=data['AQI'].max()-20,s='空气质量最差日',color='red') #plt.text()指定行列位置显示文字plt.show() #plt.show()本次绘图结束

🌼2,AQI分布特征 + 相关性分析

本节利用Matplotlib,对空气质量监测数据做如下图形化展示:

  • 线图----年均AQI变化特点
  • 直方图----AQI整体分布特征
  • 散点图----AQI和PM2.5的相关性
  • 饼图----空气质量等级分布特征

具体代码

import warnings #导入warnings模块
warnings.filterwarnings(action='ignore') #忽略警告信息
plt.figure(figsize=(10,5)) #指定宽10, 高5plt.subplot(2,2,1) #绘图区域分为2行2列共4个单元, 下个图在第1个单元展示
plt.plot(AQI_mean, color='black',linestyle='-',linewidth='0.5') #plt.plot()绘制折线图
plt.title('各年AQI均值折线图')
plt.xticks([0,1,2,3,4,5,6],['2014','2015','2016','2017','2018','2019']) #plt.xticks指定刻度给出标签plt.subplot(2,2,2) #绘图区域分2行2列共4个单元, 下个图在第2个单元展示
plt.hist(data['AQI'],bins=20) #plt.hist()绘制直方图, 包含20个柱形条, 将数据分成20组
plt.title('AQI直方图')plt.subplot(2,2,3) 
plt.scatter(data['PM2.5'],data['AQI'],s=0.5,c='green',marker='.') #plt.scatter()绘制散点图,s大小,c颜色,marker形状
plt.title('PM2.5与AQI散点图')
plt.xlabel('PM2.5') #横坐标
plt.ylabel('AQI') #纵坐标plt.subplot(2,2,4)
tmp=pd.value_counts(data['质量等级'],sort=False) #等同: tmp=data['质量等级'].value_counts()
share=tmp/sum(tmp)
labels=tmp.index
explode=[0,0.2,0,0,0,0.2,0]
plt.pie(share, explode=explode,labels=labels,autopct='%3.1f%%',startangle=180,shadow=True) #plt.pie绘制饼图
plt.title('空气质量整体情况饼图')

效果

据图分析

1,折线图:呈快速下降趋势

2,直方图:呈不对成分布

3,散点图:PM2.5和AQI存在一定程度的正相关

4,饼图:空气良占比最高

🌼3,优化图形

2中的四幅图,出现了重叠现象,下面我们进行优化调整

fig, axes=plt.subplots(nrows=2,ncols=2,figsize=(12,10)) #设置宽高,分成2行2列4个单元,结果赋值给fig和axes对象
#fig设置整个图特征,axes对应每个单元格对象
axes[0,0].plot(AQI_mean,color='black',linestyle='-',linewidth=0.5) #axes[0,0]表示第一行第一列单元格
axes[0,0].set_title('各年AQI均值折线图') #设置标题
axes[0,0].set_xticks([0,1,2,3,4,5,6]) #坐标轴标签
axes[0,0].set_xticklabels(['2014','2015','2016','2017','2018','2019']) #坐标刻度
axes[0,1].hist(data['AQI'],bins=20)
axes[0,1].set_title('AQI直方图')
axes[0,1].scatter(data['PM2.5'],data['AQI'],s=0.5,c='green',marker='.')
axes[1,0].set_title('PM2.5与AQI散点图')
axes[1,0].set_xlabel('PM2.5')
axes[1,0].set_ylabel('AQI')
axes[1,1].pie(share,explode=explode,labels=labels,autopct='%3.1f%%',startangle=180,shadow=True)
axes[1,1].set_title('空气质量整体情况饼图')fig.subplots_adjust(hspace=0.5) #.subplots_adjust调整各图形单元行和列之间的距离
fig.subplots_adjust(wspace=0.5)

🌼总结

第2章--Python机器学习基础--告一段落,需要说明的是,Scikit-learn是专门面向机器学习的Python第三方包,可支持数据预处理,数据降维,数据的分类和回归建模,聚类,模型评价和选择等各种机器学习建模应用,它后在后续章节讲到

相关文章:

《Python机器学习》基础代码2

👂 逝年 - 夏小虎 - 单曲 - 网易云音乐 目录 👊Matplotlib综合应用:空气质量监测数据的图形化展示 🌼1,AQI时序变化特点 🌼2,AQI分布特征 相关性分析 🌼3,优化图形…...

如何基于MLServer构建Python机器学习服务

文章目录前言一、数据集二、训练 Scikit-learn 模型三、基于MLSever构建Scikit-learn服务四、测试模型五、训练 XGBoost 模型六、服务多个模型七、测试多个模型的准确性总结参考前言 在过去我们训练模型,往往通过编写flask代码或者容器化我们的模型并在docker中运行…...

9.1 IGMPv1实验

9.4.1 IGMPv1 实验目的 熟悉IGMPv1的应用场景掌握IGMPv1的配置方法实验拓扑 实验拓扑如图9-7所示: 图9-7:IGMPv1 实验步骤 (1)配置IP地址 MCS1的配置 MCS1的IP地址配置如图9-8所示: 图9-8:MCS1的配置 …...

软考高级系统分析师系列论文之十:论实时控制系统与企业信息系统的集成在通信业应用

软考高级系统分析师系列论文之十:论实时控制系统与企业信息系统的集成在通信业应用 一、摘要二、正文三、总结一、摘要 近年来,在应用需求的强大驱动下,我国通信业有了长足的进步。现有通信行业中的许多企业单位,如电信公司或移动集团,其信息系统的主要特征之一是对线路的…...

NIO与零拷贝

目录 一、零拷贝的基本介绍 二、传统IO数据读写的劣势 三、mmap优化 四、sendFile优化 五、 mmap 和 sendFile 的区别 六、零拷贝实战 6.1 传统IO 6.2 NIO中的零拷贝 6.3 运行结果 一、零拷贝的基本介绍 零拷贝是网络编程的关键,很多性能优化都离不开。 在…...

【PAT甲级题解记录】1151 LCA in a Binary Tree (30 分)

【PAT甲级题解记录】1151 LCA in a Binary Tree (30 分) 前言 Problem:1151 LCA in a Binary Tree (30 分) Tags:树的遍历 并查集 LCA Difficulty:剧情模式 想流点汗 想流点血 死而无憾 Address:1151 LCA in a Binary Tree (30 分…...

Android 获取手机语言环境 区分简体和繁体,香港,澳门,台湾繁体

安卓和IOS 系统语言都是准守:ISO 639 ISO 代码表IOS:plus.os.language ios正常,安卓下简体和繁体语言,都是zh安卓获取系统语言方法:Locale.getDefault().language手机切换到繁体(台湾,香港&…...

一文搞懂Python时间序列

Python时间序列1. datetime模块1.1 datetime对象1.2 字符串和datatime的相互转换2. 时间序列基础3. 重采样及频率转换4. 时间序列可视化5. 窗口函数5.1 移动窗口函数5.2 指数加权函数5.3 二元移动窗口函数时间序列(Time Series)是一种重要的结构化数据形…...

GeoServer发布数据进阶

GeoServer发布数据进阶 GeoServer介绍 GeoServer是用于共享地理空间数据的开源服务器。 它专为交互操作性而设计,使用开放标准发布来自任何主要空间数据源的数据。 GeoServer实现了行业标准的 OGC 协议,例如网络要素服务 (WFS)…...

Docker离线部署

Docker离线部署 目录 1、需求说明 2、下载docker安装包 3、上传docker安装包 4、解压docker安装包 5、解压的docker文件夹全部移动至/usr/bin目录 6、将docker注册为系统服务 7、重启生效 8、设置开机自启 9、查看docker版本信息 1、需求说明 大部份公司为了服务安全…...

《数据库系统概论》学习笔记——第七章 数据库设计

教材为数据库系统概论第五版(王珊) 这一章概念比较多。最重点就是7.4节。 7.1 数据库设计概述 数据库设计定义: 数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构&#x…...

【Datawhale图机器学习】半监督节点分类:标签传播和消息传递

半监督节点分类:标签传播和消息传递 半监督节点分类问题的常见解决方法: 特征工程图嵌入表示学习标签传播图神经网络 基于“物以类聚,人以群分”的Homophily假设,讲解了Label Propagation、Relational Classification&#xff…...

【分布式缓存学习篇】Redis数据结构

一、Redis的数据结构 二、String 数据结构 2.1 字符串常用操作 //存入字符串键值对 SET key value //批量存储字符串键值对 MSET key value [key value ...] //存入一个不存在的字符串键值对 SETNX key value //获取一个字符串键值 GET ke…...

【跟着ChatGPT学深度学习】ChatGPT带我入门NLP

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…...

RGB888与RGB565颜色

颜色名称RGB888原色RGB565还原色英RGB888[Hex]RGB888_R[Hex]RGB888_G[Hex]RGB888_B[Hex]RGB565[Hex]RGB565_R[Hex]RGB565_G[Hex]RGB565_B[Hex]黑色Black0x0000000000000x0000000昏灰Dimgray0x6969696969690x6B4DD1AD灰色Gray0x8080808080800x8410102010暗灰Dark Gray0xA9A9A9A9…...

常见的域名后缀有哪些?不同域名后缀的含义是什么?

域名发展至今,已演变出各种各样的域名后缀,导致很多网站管理人员在注册域名时不知该如何选择。下面,中科三方针对常见域名后缀种类,以及不同域名后缀的含义做下简单介绍。 什么是域名后缀? 域名是由一串由点分隔开的…...

LevelDB架构介绍以及读、写和压缩流程

LevelDB 基本介绍 是一个key/value存储,key值根据用户指定的comparator排序。 特性 keys 和 values 是任意的字节数组。数据按 key 值排序存储。调用者可以提供一个自定义的比较函数来重写排序顺序。提供基本的 Put(key,value),Get(key),…...

华为OD机试模拟题 用 C++ 实现 - 快递货车(2023.Q1)

最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 最多获得的短信条数(2023.Q1)) 文章目录 最近更新的博客使用说明快递货车题目输入输出示例一输入输出Code使用说明 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为 OD 清单…...

伺服三环控制深层原理解析

我们平时使用的工业伺服,通常是成套伺服,即驱动器和电机型号存在配对关系。 但有些时候,我们要用电机定转子和编码器制作非成套电机,这种时候,我们需要对驱动器进行各种设置才能驱动电机。 此篇文章将通过介绍伺服控制的三环控制原理入手来说明我们调试非成套伺服时需要…...

Cornerstone完整的基于 Web 的医学成像平台(一)

1.简介 Cornerstone是一个开源的基于Web的医学成像平台,它提供了一个易于使用的界面,可以用于加载、显示和处理医学图像。Cornerstone可以用于许多医学图像处理应用程序,例如计算机断层扫描(CT)、磁共振成像&#xff…...

浅谈 React Hooks

React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...

K8S认证|CKS题库+答案| 11. AppArmor

目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...

质量体系的重要

质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络&#xf…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

selenium学习实战【Python爬虫】

selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...

快刀集(1): 一刀斩断视频片头广告

一刀流:用一个简单脚本,秒杀视频片头广告,还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农,平时写代码之余看看电影、补补片,是再正常不过的事。 电影嘛,要沉浸,…...

NPOI Excel用OLE对象的形式插入文件附件以及插入图片

static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...

计算机基础知识解析:从应用到架构的全面拆解

目录 前言 1、 计算机的应用领域:无处不在的数字助手 2、 计算机的进化史:从算盘到量子计算 3、计算机的分类:不止 “台式机和笔记本” 4、计算机的组件:硬件与软件的协同 4.1 硬件:五大核心部件 4.2 软件&#…...