今天就來學天氣預報機器學習吧~
import numpy as np
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt
# 假設這是一些歷史天氣數據,例如溫度(攝氏度)和降雨量(毫米)
temperature = np.array([25, 26, 24, 30, 31, 31, 28, 27, 29, 27, 25, 30])
rainfall = np.array([5, 6, 3, 0, 0, 0, 1, 2, 4, 5, 6, 8])
# 創建一個特徵矩陣,包括溫度和降雨量
X = np.column_stack((temperature, rainfall))
# 創建目標值,例如明天的溫度
y = np.array([27, 25, 28, 30, 32, 33, 30, 29, 27, 28, 24, 26])
# 創建一個線性回歸模型
model = LinearRegression()
# 使用歷史數據訓練模型
model.fit(X, y)
# 預測明天的溫度和降雨量
tomorrow_temperature = 28
tomorrow_rainfall = 2
prediction = model.predict([[tomorrow_temperature, tomorrow_rainfall]])
print(f"明天的溫度預測為 {prediction[0]:.2f} 攝氏度")
# 可視化歷史數據和預測,更改顏色
plt.scatter(temperature, y, color='skyblue', label='data history')
plt.scatter([tomorrow_temperature], [prediction[0]], color='pink', marker='x', label='data forecast')
plt.xlabel('temperature(Celsius)')
plt.ylabel('temperature of tomorrow (Celsius)')
plt.legend()
# 顯示標題
plt.title('weather forecast')
plt.show()
今天就先到這邊吧~
目前進度:27/30···