北京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:露點,空氣中水氣含量達到飽和的氣溫(a??)
TEMP:溫度,觀測時間點對應的溫度(a??)
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):
接著進行模型訓練和預測
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浓度回归分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 局域网内的ARP断网攻击
- 下一篇: 微信小程序趋势及前景,大厂内部资料