日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

北京PM2.5浓度回归分析

發布時間:2023/12/20 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 北京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):

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浓度回归分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。