Spaces:
Runtime error
Runtime error
| import numpy as np | |
| import pandas as pd | |
| from sklearn.preprocessing import MinMaxScaler | |
| from tensorflow.keras.models import Sequential | |
| from tensorflow.keras.layers import LSTM, Dense | |
| from tensorflow.keras.optimizers import Adam | |
| # Load energy generation dataset (ensure 'energy_data.csv' is in the /data folder) | |
| data = pd.read_csv('data/energy_data.csv') # Replace with your actual filename if different | |
| energy_data = data['energy_generation'].values.reshape(-1, 1) | |
| # Normalize data | |
| scaler = MinMaxScaler(feature_range=(0, 1)) | |
| energy_data = scaler.fit_transform(energy_data) | |
| # Prepare data for LSTM | |
| X, y = [], [] | |
| for i in range(60, len(energy_data)): | |
| X.append(energy_data[i-60:i, 0]) | |
| y.append(energy_data[i, 0]) | |
| X, y = np.array(X), np.array(y) | |
| X = X.reshape((X.shape[0], X.shape[1], 1)) | |
| # Define LSTM model | |
| model = Sequential() | |
| model.add(LSTM(units=50, return_sequences=True, input_shape=(X.shape[1], 1))) | |
| model.add(LSTM(units=50, return_sequences=False)) | |
| model.add(Dense(units=1)) | |
| # Compile and train | |
| model.compile(optimizer=Adam(), loss='mean_squared_error') | |
| model.fit(X, y, epochs=10, batch_size=32) | |
| # Save trained model | |
| model.save('models/lstm_energy_model.h5') | |
| print("β LSTM model trained and saved to models/lstm_energy_model.h5") | |