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

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...

Python爬虫实战:研究feedparser库相关技术

1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢

随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

springboot整合VUE之在线教育管理系统简介

可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解

在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...

基于Springboot+Vue的办公管理系统

角色: 管理员、员工 技术: 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能: 该办公管理系统是一个综合性的企业内部管理平台,旨在提升企业运营效率和员工管理水…...

Linux nano命令的基本使用

参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时,显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...