姓名 学号
陈聪 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浓度回归分析相关推荐

  1. 数据挖掘竞赛-北京PM2.5浓度回归分析训练赛

    北京PM2.5浓度回归分析训练赛 简介 DC上的一个回归题,比较简单. 时间原因没有细看,提交到70多名就结束了. 使用stacking方法结合多个回归模型. 过程 数据获取 官方给定. 数据探索 训 ...

  2. R语言:北京PM2.5浓度回归分析

    竞赛信息及数据来源: https://www.pkbigdata.com/common/cmpt/北京PM2.5浓度回归分析训练赛_竞赛信息.html # 读入数据 data <- read.c ...

  3. DC算法竞赛——北京PM2.5浓度回归分析

    北京PM2.5浓度回归分析 比赛结果(118/1150) 一. 概述 1.项目来源:https://www.dcjingsai.com/static_page/cmpList.html 2.给定数据字 ...

  4. 机器学习实践系列(三)----达观杯--北京PM2.5浓度回归分析训练赛

    1.大赛地址 北京PM2.5浓度回归分析训练赛 看了很长时间机器学习算法了,从这个博客开始打算长期更新一些算法的尝试,在实践中用起来. 先从最简单的线性回归开始吧. 2.赛题说明 数据主要包括2010 ...

  5. 线性回归、Lasso回归、岭回归预测北京PM2.5浓度

    一.项目背景 北京PM2.5浓度回归分析训练赛 1.数据   数据主要包括2010年1月1日至2014年12月31日间北京pm2.5指数以及相关天气指数数据.   数据分为训练数据和测试数据,分别保存 ...

  6. Linux作业 北京各监测站的PM2.5浓度

    完整代码: curl http://www.pm25china.net/beijing/ | awk '/更新时间/{print $0}/<td>/{print $0}' | sed 's ...

  7. 基于Keras的LSTM多变量时间序列预测(北京PM2.5数据集pollution.csv)

                                 基于Keras的LSTM多变量时间序列预测 传统的线性模型难以解决多变量或多输入问题,而神经网络如LSTM则擅长于处理多个变量的问题,该特性使 ...

  8. 北京PM2.5情况分析(2010-2014)

    利用网上搜集到的CSV数据,对北京市2010年至2014年的PM2.5情况进行分析. 数据获取 数据来源于 UC Irvine Machine Learning Repository网站中的Beiji ...

  9. Python分析北京PM2.5,原来每年的值都在变少......

    什么是PM2.5 pm为英文particulate matter的缩写,翻译成中文叫做颗粒物.pm2.5是指大气中直径小于或等于2.5微米的颗粒物,有时也被称作入肺颗粒物.我们日常常见的雾霾天气大 多 ...

最新文章

  1. css之创建常用图形
  2. numpy.random.normal详解
  3. c语言 一元多项式乘法,[内附完整源码和文档] 基于C语言实现的一元多项式的计算...
  4. high definition audio控制器感叹号_三门峡回收科霸控制器
  5. Framework4.0 IIS7下urlrewriter设置问题
  6. 加州伯克利本科学计算机好吗,美国加州大学伯克利分校和卡耐基梅隆大学计算机科学CS专业哪个好?...
  7. phpexcel读取输出操作
  8. 【2019牛客暑期多校训练营(第八场)E】Explorer【线段树分治维护图连通】
  9. Pymol入门教程--基础
  10. android 打开微信代码,3个超实用的微信隐藏代码,仅限安卓
  11. Transaction-based classification and detection approach for Ethereum smart contract
  12. 台式计算机把硬盘换了怎么进系统,联想台式机怎么进bios设置硬盘启动
  13. ESXI VIB升级报错
  14. 如何计算给定二叉树中的叶节点数?
  15. 线性回归(Linear regression)算法
  16. I.MX6UL 时钟略解
  17. C51单片机连接wifi模块,发送AT指令
  18. 没有比心更高的山,没有比脚更远的路
  19. 【vn.py】源码解析之双均线(Double Moving Average)策略以及策略底层实现
  20. 学习啦!--MHK在线学习小程序 计算机毕业设计

热门文章

  1. nodejs 获取系统环境变量_Node.js中环境变量process.env的一些事详解
  2. java游戏西游孙悟空_玩了这本《西游冒险手册》,我才真正理解了孙悟空
  3. HTC-quietly brilliant(谦和卓越)
  4. 没有哈密瓜只有哈密顿----图论之哈密顿回路
  5. 顺丰java_顺丰API调用java版
  6. 个体工商户核名查询_网上核名怎么查询
  7. 中国旋转开关行业市场供需与战略研究报告
  8. 《流放者柯南》自建服务器,柯南流亡者:如何设置自己的私人服务器 | MOS86
  9. php自定义微博尾巴,怎么自定义微博小尾巴 (无需工具)
  10. 图文详解在Windows系统中安装JDK