【python】python课设 天气预测数据分析及可视化
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import PolynomialFeatures
# 读取数据
df = pd.read_csv('weatherAUS.csv')
# 数据处理:选择部分特征,并转换成正确的日期格式
df['Date'] = pd.to_datetime(df['Date'], format='%Y-%m-%d')
df['year'] = df['Date'].dt.year
df['month'] = df['Date'].dt.month
df['day'] = df['Date'].dt.day
df['hour'] = df['Date'].dt.hour
df = df[['year', 'month', 'day', 'hour', 'Rainfall', 'Evapotranspiration', 'Solar']]
# 选择一个月的数据用于演示
df = df[df['month'] == 2]
# 根据需要选择特征和目标
X = df[['year', 'month', 'day', 'hour', 'Solar']]
y = df['Rainfall']
# 多项式回归:创建多项式特征
poly_reg = PolynomialFeatures(degree=2)
X_poly = poly_reg.fit_transform(X.values[:,1:])
lin_reg = LinearRegression()
lin_reg.fit(X_poly, y)
# 可视化多项式回归结果
plt.scatter(X['Solar'], y)
plt.plot(X['Solar'], lin_reg.predict(poly_reg.fit_transform(X[['Solar']])), color='red')
plt.title('Solar vs Rainfall')
plt.xlabel('Solar')
plt.ylabel('Rainfall')
plt.show()
这段代码展示了如何使用多项式回归分析阳光和雨量之间的关系,并将结果可视化。代码中使用了PolynomialFeatures
来创建多项式特征,并用LinearRegression
进行线性拟合。最后,使用matplotlib.pyplot
绘制了散点图和拟合的线条。
评论已关闭