基于回归分析的PM2.5预测
案例背景
数据集 pm2.5 中给出了与预测 pm2.5 有关的气象数据。请利用 2010年至 2013 年的数据作为训练集对 2014 年的 pm2.5 数据进行预测。考虑使用的预测变量包括:hour(日内小时)、dewp(露点)、temp(气温)、pres(气压)cbwd(风向)、lws(风速)、ls(累积降雪)、lr(累积降雨),其中 hour 与 cbwd 应当作类别变量处理。
数据预处理
- 导入库
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import os
from sklearn.model_selection import train_test_split
from sklearn.model_selection import cross_val_score
from sklearn.model_selection import GridSearchCV
import warnings
# filter warnings
warnings.filterwarnings('ignore')
import matplotlib.pyplot as plt
from sklearn import linear_model
- 读取数据
df=pd.read_csv('pm25.csv')
- 处理缺失值
- 查看缺失值情况
df.isna().sum()
只有pm25这一列数据有空值,一共2043行。而总的数据集的数据一共43800行,包含空值的数据所占总数据集的比例较少,可以直接删除。
2. 删除缺失值
df.dropna(inplace=True)
- 更改数据类型
df['cbwd']=df['cbwd'].astype(str)
df['hour']=df['hour'].astype(str)
- 数据了解
df.columns
[‘year’, ‘month’, ‘day’, ‘hour’, ‘pm25’, ‘DEWP’, ‘TEMP’, ‘PRES’, ‘cbwd’, ‘Iws’, ‘Is’, ‘Ir’]
df.dtypes
- 划分训练集测试集
x=df.loc[:,['hour','DEWP','