北京PM2.5浓度回归分析
姓名 | 学号 |
---|---|
陈聪 | 20185109043 |
张一帆 | 20185109045 |
罗凯 | 20185110010 |
刘文博 | 20185109044 |
任务
由给定一段时间内的北京天气相关指数数据和北京PM2.5指数等,建立模型预测接下来一段时间内北京的PM2.5指数。
数据
数据主要包括2010年1月1日至2014年12月31日间北京pm2.5指数以及相关天气指数数据。
数据分为训练数据和测试数据,分别保存在pm25_train.csv和pm25_test.csv两个文件中。
其中训练数据主要包括35746条记录,13个字段,主要字段说明如下:
date:观测数据发生的日期(年-月-日)
hour:观测数据发生的时间点(时)
pm2.5:观测时间点对应的pm2.5指数((ug/m^3)
DEWP:露点,空气中水气含量达到饱和的气温(℃)
TEMP:温度,观测时间点对应的温度(℃)
PRES:压强,观测时间点对应的压强(hPa)
Iws:累积风速,观测时间点对应的累积风速(m/s)
Is:累计降雪,到观测时间点为止累计降雪的时长(小时)
Ir:累计降雨,到观测时间点为止累计降雨的时长(小时)cbwd_NE:观测时间点对应的风向为东北风(m/s)
cbwd_NW:观测时间点对应的风向为西北风(m/s)
cbwd_SE:观测时间点对应的风向为东南风(m/s)
cbwd_cv:观测时间点对应的风向为静风(m/s)
测试数据主要包括6011条记录,12个字段,测试数据的字段信息和训练数据相比,除了不包括pm2.5字段以外其他完全相同。学员需要通过所学的知识,利用训练数据建立回归模型,并用于预测测试数据相应的pm2.5指数。
核心代码
import time
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression # 用于线性回归
from sklearn.model_selection import train_test_split df = pd.read_csv('D:\game\pm2.5\北京PM2.5浓度回归分析训练赛\pm25_train.csv', engine='python')
查看数据发现日期格式是字符串格式
例如:“2019-01-01”,首先第一步操作要把字符串类型的日期,拆分成年、月、日、周几,之后再把这4个特征添加到数据表中。
def data_format(dt):
time_list = []
t = time.strptime(dt, '%Y-%m-%d')
time_list.append(t.tm_year)
time_list.append(t.tm_mon)
time_list.append(t.tm_mday)
time_list.append(t.tm_wday)
return time_list
date = df['date'].tolist()
jieguo = []
for dt in date:jieguo.append(data_format(dt=dt))df_time = pd.DataFrame(jieguo)
df_time.columns=['year', 'mon', 'day','week']
df_data = pd.concat([df,df_time], axis=1)
接着进行模型训练和预测
y = df_data['pm2.5']
X = df_data.drop(columns=['pm2.5','date'])
X_train,X_test,y_train,y_test = train_test_split(X, y, test_size=0.3,random_state=42)
lr = LinearRegression().fit(X_train, y_train)yuce = lr.predict(X_test)
df_jieguo = pd.DataFrame(y_test)
df_jieguo = df_jieguo.reset_index()
df_jieguo['yuce'] = yuc
最后计算的预测准确度情况
df_jieguo['wucha'] = pow((df_jieguo['yuce']-df_jieguo['pm2.5']), 2)
he = sum(df_jieguo['wucha'])
score = he/len(df_jieguo)
北京PM2.5浓度回归分析相关推荐
- 数据挖掘竞赛-北京PM2.5浓度回归分析训练赛
北京PM2.5浓度回归分析训练赛 简介 DC上的一个回归题,比较简单. 时间原因没有细看,提交到70多名就结束了. 使用stacking方法结合多个回归模型. 过程 数据获取 官方给定. 数据探索 训 ...
- R语言:北京PM2.5浓度回归分析
竞赛信息及数据来源: https://www.pkbigdata.com/common/cmpt/北京PM2.5浓度回归分析训练赛_竞赛信息.html # 读入数据 data <- read.c ...
- DC算法竞赛——北京PM2.5浓度回归分析
北京PM2.5浓度回归分析 比赛结果(118/1150) 一. 概述 1.项目来源:https://www.dcjingsai.com/static_page/cmpList.html 2.给定数据字 ...
- 机器学习实践系列(三)----达观杯--北京PM2.5浓度回归分析训练赛
1.大赛地址 北京PM2.5浓度回归分析训练赛 看了很长时间机器学习算法了,从这个博客开始打算长期更新一些算法的尝试,在实践中用起来. 先从最简单的线性回归开始吧. 2.赛题说明 数据主要包括2010 ...
- 线性回归、Lasso回归、岭回归预测北京PM2.5浓度
一.项目背景 北京PM2.5浓度回归分析训练赛 1.数据 数据主要包括2010年1月1日至2014年12月31日间北京pm2.5指数以及相关天气指数数据. 数据分为训练数据和测试数据,分别保存 ...
- Linux作业 北京各监测站的PM2.5浓度
完整代码: curl http://www.pm25china.net/beijing/ | awk '/更新时间/{print $0}/<td>/{print $0}' | sed 's ...
- 基于Keras的LSTM多变量时间序列预测(北京PM2.5数据集pollution.csv)
基于Keras的LSTM多变量时间序列预测 传统的线性模型难以解决多变量或多输入问题,而神经网络如LSTM则擅长于处理多个变量的问题,该特性使 ...
- 北京PM2.5情况分析(2010-2014)
利用网上搜集到的CSV数据,对北京市2010年至2014年的PM2.5情况进行分析. 数据获取 数据来源于 UC Irvine Machine Learning Repository网站中的Beiji ...
- Python分析北京PM2.5,原来每年的值都在变少......
什么是PM2.5 pm为英文particulate matter的缩写,翻译成中文叫做颗粒物.pm2.5是指大气中直径小于或等于2.5微米的颗粒物,有时也被称作入肺颗粒物.我们日常常见的雾霾天气大 多 ...
最新文章
- css之创建常用图形
- numpy.random.normal详解
- c语言 一元多项式乘法,[内附完整源码和文档] 基于C语言实现的一元多项式的计算...
- high definition audio控制器感叹号_三门峡回收科霸控制器
- Framework4.0 IIS7下urlrewriter设置问题
- 加州伯克利本科学计算机好吗,美国加州大学伯克利分校和卡耐基梅隆大学计算机科学CS专业哪个好?...
- phpexcel读取输出操作
- 【2019牛客暑期多校训练营(第八场)E】Explorer【线段树分治维护图连通】
- Pymol入门教程--基础
- android 打开微信代码,3个超实用的微信隐藏代码,仅限安卓
- Transaction-based classification and detection approach for Ethereum smart contract
- 台式计算机把硬盘换了怎么进系统,联想台式机怎么进bios设置硬盘启动
- ESXI VIB升级报错
- 如何计算给定二叉树中的叶节点数?
- 线性回归(Linear regression)算法
- I.MX6UL 时钟略解
- C51单片机连接wifi模块,发送AT指令
- 没有比心更高的山,没有比脚更远的路
- 【vn.py】源码解析之双均线(Double Moving Average)策略以及策略底层实现
- 学习啦!--MHK在线学习小程序 计算机毕业设计
热门文章
- nodejs 获取系统环境变量_Node.js中环境变量process.env的一些事详解
- java游戏西游孙悟空_玩了这本《西游冒险手册》,我才真正理解了孙悟空
- HTC-quietly brilliant(谦和卓越)
- 没有哈密瓜只有哈密顿----图论之哈密顿回路
- 顺丰java_顺丰API调用java版
- 个体工商户核名查询_网上核名怎么查询
- 中国旋转开关行业市场供需与战略研究报告
- 《流放者柯南》自建服务器,柯南流亡者:如何设置自己的私人服务器 | MOS86
- php自定义微博尾巴,怎么自定义微博小尾巴 (无需工具)
- 图文详解在Windows系统中安装JDK