当前位置: 首页 > 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…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

微信小程序之bind和catch

这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...

23-Oracle 23 ai 区块链表(Blockchain Table)

小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...

Linux云原生安全:零信任架构与机密计算

Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...

【python异步多线程】异步多线程爬虫代码示例

claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...

爬虫基础学习day2

# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...

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 提…...

tomcat指定使用的jdk版本

说明 有时候需要对tomcat配置指定的jdk版本号,此时,我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...

OpenGL-什么是软OpenGL/软渲染/软光栅?

‌软OpenGL(Software OpenGL)‌或者软渲染指完全通过CPU模拟实现的OpenGL渲染方式(包括几何处理、光栅化、着色等),不依赖GPU硬件加速。这种模式通常性能较低,但兼容性极强,常用于不支持硬件加速…...