1 Star 7 Fork 2

Miku/基于TensorFlow LSTM神经网络的温度预测分析

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
Predition.py 2.31 KB
一键复制 编辑 原始数据 按行查看 历史
Miku 提交于 2024-06-21 19:49 . 提交代码
import pandas as pd
import numpy as np
from sklearn.preprocessing import MinMaxScaler
from tensorflow.keras.models import load_model
def load_and_predict(model_path, data_path, target_date_str):
# 读取数据
data = pd.read_excel(data_path, parse_dates=['date'], index_col='date')
# 打印数据集的范围
print("数据集范围:")
print(f"开始日期: {data.index.min()}")
print(f"结束日期: {data.index.max()}")
# 转换目标日期
target_date_dt = pd.to_datetime(target_date_str)
print(f"目标日期: {target_date_dt}")
# 确保有足够的数据
start_time = target_date_dt - pd.Timedelta(hours=10)
end_time = target_date_dt - pd.Timedelta(hours=1)
print(f"需要的数据范围: 从 {start_time}{end_time}")
if start_time < data.index.min():
raise ValueError("数据不足以进行预测。")
# 提取目标日期之前的10小时数据
past_hours_data = data.loc[start_time:end_time]
print(f"提取到的数据:\n{past_hours_data}")
if past_hours_data.empty:
raise ValueError("时间范围内没有足够的数据进行预测。")
# 标准化处理
scaler = MinMaxScaler(feature_range=(0, 1))
temperature_scaled = scaler.fit_transform(data['temperature'].values.reshape(-1, 1))
# 创建数据集函数
def create_dataset(data, time_step=1):
X = []
for i in range(len(data) - time_step):
X.append(data[i:(i + time_step), 0])
return np.array(X)
time_step = 10 # 时间步长
# 加载模型
model = load_model(model_path)
# 标准化过去10小时数据并调整形状
past_hours_data_scaled = scaler.transform(past_hours_data['temperature'].values.reshape(-1, 1))
past_hours_data_scaled = past_hours_data_scaled.reshape(1, time_step, 1)
# 进行预测
predicted_temperature_scaled = model.predict(past_hours_data_scaled)
predicted_temperature = scaler.inverse_transform(predicted_temperature_scaled)
return predicted_temperature[0][0]
# 示例使用
model_path = 'temperature_prediction_model.h5'
data_path = 'temperature_data-2023-2024.xlsx'
target_date_str = '2024-06-03 23:00:00'
predicted_temperature = load_and_predict(model_path, data_path, target_date_str)
print(f"预测的{target_date_str}的温度为: {predicted_temperature:.2f} °C")
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/miku-sakura/temperature_analysis.git
[email protected]:miku-sakura/temperature_analysis.git
miku-sakura
temperature_analysis
基于TensorFlow LSTM神经网络的温度预测分析
master

搜索帮助