先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Python全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Python知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024c (备注Python)
正文
随着工业化和城镇化的快速发展,环境问题日益突出。空气污染是全球最重要的环境问题之一,影响着人们的健康、生产和生活。为了改善空气质量,我国加大监测和环保力度,增加空气质量监测站点,实施蓝天保卫战,并将空气质量水平与污染治理水平纳入部门工作考核。科学有效地评价空气质量,能够为预防和治理空气污染提供科学依据,有利于交通或环境管理部门实施污染控制,降低空气污染的影响,改善人类福祉。由于大气环境是受污染源、气象、人为因素的影响,因此需要客观综合地评价空气质量。
每日环境空气质量评价需要综合各污染物的影响,本次大赛提供了每日AQI数据和主要污染物浓度数据,参赛选手需构建空气质量评价模型,根据提供的样本评价样本之间的相对污染程度。
1.数据说明
本次比赛为参赛选手提供了大气污染数据,包括一氧化碳、细颗粒物、可吸入颗粒物、臭氧、二氧化氮、二氧化硫。此次比赛分为初赛和复赛两个阶段,两个阶段的区别是所提供样本的量级和样本城市有所不同,其他的设置均相同。
特别说明,空气质量评价本身是一个不确定性问题,主要采用不确定性方法来构建模型,如模糊数学,灰色理论,证据理论,神经网络等统计分析方法。
2.评估指标
本模型依据提交的结果文件,利用均方根误差(RMSE)评价模型。
(1) 样本的相对综合污染系数 IPRC,用于判断样本之间的相对污染程度。
(2) 基于IPRC,计算RMSE. 其中m为样本数,y为IPRC真实值,y_pred为IPRC预测值。
3.评测及排行
1、初赛和复赛均提供下载数据,选手在本地进行算法调试,在比赛页面提交结果。
2、每支团队每天最多提交3次。
3、排行按照得分从高到低排序,排行榜将选择团队的历史最优成绩进行排名。
1.文件格式:按照csv格式提交
2.文件大小:无要求
3.提交次数限制:每支队伍每天最多3次
4.文件详细说明:
-
以csv格式提交,编码为UTF-8,第一行为表头;
-
提交格式见样例
5.不需要上传其他文件
===============================================================
首先分析这个比赛是解决什么问题?从评估指标RMSE我们可以得出这个比赛是回归问题,是预测IPRC的值,所以IPRC是y值,是我们要预测的值。
初赛的数据集是保定2016年的空气质量数据,测试集是国际庄2016到2017年的空气质量数据。回想2016年,那时候整个河北的污染还是比较严重的,经常看不到太阳,一年没有几天是好天气。先查看训练集前5行的数据:
执行代码:
import numpy as np
import pandas as pd
import lightgbm as lgb
from sklearn.model_selection import KFold
from sklearn.metrics import mean_squared_error
from sklearn.preprocessing import StandardScaler, MinMaxScaler
train = pd.read_csv(‘data/train/train.csv’)
print(train.head(5))
运行结果:
| 日期 | AQI | 质量等级 | PM2.5 | PM10 | SO2 | CO | NO2 | O3_8h | IPRC |
| — | — | — | — | — | — | — | — | — | — |
| 2016/1/1 | 293 | 重度污染 | 243 | 324 | 122 | 6.1 | 149 | 12 | 2.088378 |
| 2016/1/2 | 430 | 严重污染 | 395 | 517 | 138 | 7.5 | 180 | 18 | 3.316942 |
| 2016/1/3 | 332 | 严重污染 | 282 | 405 | 72 | 6.3 | 130 | 10 | 2.516425 |
| 2016/1/4 | 204 | 重度污染 | 154 | 237 | 73 | 3.5 | 72 | 34 | 1.505693 |
| 2016/1/5 | 169 | 中度污染 | 128 | 186 | 99 | 3.2 | 66 | 39 | 1.210233 |
第一列是时间,对经历过那段时间的人来说,时间肯定是有用的,北方冬天取暖,空气质量差很多。春季和秋季刮风的时候多,好天气自然多一些,夏天有时下雨,下雨了空气的质量就能有所改善,空气质量和季节的相关系比较密切。对于时间的处理,我是采用将年月日分别3列。代码如下:
data[“year”] = pd.to_datetime(data[“日期”]).dt.year
data[“month”] = pd.to_datetime(data[“日期”]).dt.month
获取日
data[“day”] = pd.to_datetime(data[“日期”]).dt.day
第二列AQI和PM2.5、PM10、SO2、CO、NO2、O3_8h,这里列的处理方式类似,都采用MinMaxScaler(feature_range=(0, 1)),代码如下:
cols = [“PM2.5”, “PM10”, “SO2”, “CO”, “NO2”, “O3_8h”,“day”,“month”,“year”]
scaler = MinMaxScaler(feature_range=(0, 1))
for clo in cols:
data[clo] = scaler.fit_transform(data[clo].values.reshape(-1, 1))
第三列 质量等级,共5个等级,这个毫无疑问用OneHot编码做,我使用pandas 自带的方法实现OneHot编码,编码完成后把质量等级和日期列删除,代码如下:
df = pd.DataFrame({‘质量等级’: [‘重度污染’, ‘良’, ‘中度污染’, ‘轻度污染’, ‘严重污染’]})
ff = pd.get_dummies(data[‘质量等级’].values)
data[‘重度污染’] = ff[‘重度污染’]
data[‘良’] = ff[‘良’]
data[‘中度污染’] = ff[‘中度污染’]
data[‘轻度污染’] = ff[‘轻度污染’]
data[‘严重污染’] = ff[‘严重污染’]
del data[‘质量等级’]
del data[‘日期’]
print(data)
运行结果:
标签数据处理 标签采用MinMaxScaler(feature_range=(0, 1)),把标签缩放到0-1之间,方便预测,代码如下:
scaler_y = MinMaxScaler(feature_range=(0, 1))
train[‘IPRC’] = scaler_y.fit_transform(train[‘IPRC’].values.reshape(-1, 1))
target = train[‘IPRC’]
数据分析的完整代码如下:
import numpy as np
import pandas as pd
import lightgbm as lgb
from sklearn.model_selection import KFold
from sklearn.metrics import mean_squared_error
from sklearn.preprocessing import StandardScaler, MinMaxScaler
train = pd.read_csv(‘data/train/train.csv’)
print(train.head(5))
test = pd.read_csv(‘data/test/test.csv’)
smb = test[‘日期’].values
scaler_y = MinMaxScaler(feature_range=(0, 1))
train[‘IPRC’] = scaler_y.fit_transform(train[‘IPRC’].values.reshape(-1, 1))
target = train[‘IPRC’]
del train[‘IPRC’]
data = pd.concat([train, test], axis=0, ignore_index=True)
data = data.fillna(0)
data[“year”] = pd.to_datetime(data[“日期”]).dt.year
data[“month”] = pd.to_datetime(data[“日期”]).dt.month
获取日
data[“day”] = pd.to_datetime(data[“日期”]).dt.day
df = pd.DataFrame({‘质量等级’: [‘重度污染’, ‘良’, ‘中度污染’, ‘轻度污染’, ‘严重污染’]})
最后
不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~
给大家准备的学习资料包括但不限于:
Python 环境、pycharm编辑器/永久激活/翻译插件
python 零基础视频教程
Python 界面开发实战教程
Python 爬虫实战教程
Python 数据分析实战教程
python 游戏开发实战教程
Python 电子书100本
Python 学习路线规划
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注python)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
aGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZlaTM0Nzc5NTc5MA==,size_16,color_FFFFFF,t_70)
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注python)
[外链图片转存中…(img-xTrIFZ2T-1713436984664)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!