Hallo Leute,
Ich habe ein Projekt entwickelt: Ich möchte die Schließungswerte für Aktien mithilfe eines LSTM-Modells vorhersagen. Konkreter Plan: Ich möchte, dass die KI die Schließungswerte für die nächsten 90 Tage vorhersagt, die auch in einem Graphen dargestellt werden. Ich möchte auch ein Bewertungssystem haben, das die KI aufgrund ihrer Genauigkeit bei der Vorhersage bewertet.
Für diese Aufgabe habe ich folgenden Code:
Der Compiler gibt einige Fehler aus. Kann sich jemand diesen Code ansehen und ihn ändern, sodass er funktioniert, oder Informationen geben, wie man den Code verbessern kann?
Ich danke euch im Voraus.
Ich habe ein Projekt entwickelt: Ich möchte die Schließungswerte für Aktien mithilfe eines LSTM-Modells vorhersagen. Konkreter Plan: Ich möchte, dass die KI die Schließungswerte für die nächsten 90 Tage vorhersagt, die auch in einem Graphen dargestellt werden. Ich möchte auch ein Bewertungssystem haben, das die KI aufgrund ihrer Genauigkeit bei der Vorhersage bewertet.
Für diese Aufgabe habe ich folgenden Code:
Python:
import numpy as np
import pandas as pd
import yfinance as yf
import matplotlib.pyplot as plt
from sklearn.preprocessing import MinMaxScaler
from keras.models import Sequential
from keras.layers import LSTM, Dense
# Load the data of Adobe Systems Incorporated (ADBE) from Yahoo Finance
data = yf.download("ADBE", start="2000-01-01", end="2023-02-06")
# Preprocess the data
scaler = MinMaxScaler()
data_scaled = scaler.fit_transform(data[['Close']])
# Split the data into a training and testing set
training_data_len = int(len(data_scaled) * 0.8)
training_data = data_scaled[0:training_data_len, :]
testing_data = data_scaled[training_data_len:, :]
# Convert the data into a suitable format for the LSTM model
def create_dataset(dataset, look_back=1):
data_x, data_y = [], []
for i in range(len(dataset) - look_back - 1):
a = dataset[i:(i + look_back), 0]
data_x.append(a)
data_y.append(dataset[i + look_back, 0])
return np.array(data_x), np.array(data_y)
look_back = 1
training_x, training_y = create_dataset(training_data, look_back)
testing_x, testing_y = create_dataset(testing_data, look_back)
training_x = np.reshape(training_x, (training_x.shape[0], 1, training_x.shape[1]))
testing_x = np.reshape(testing_x, (testing_x.shape[0], 1, testing_x.shape[1]))
# Create the LSTM model
model = Sequential()
model.add(LSTM(50, return_sequences=True, input_shape=(training_x.shape[1], look_back)))
model.add(LSTM(50, return_sequences=False))
model.add(Dense(25))
model.add(Dense(1))
model.compile(loss='mean_squared_error', optimizer='adam')
# Train the LSTM model
model.fit(training_x, training_y, epochs=1, batch_size=1, verbose=2)
# Make predictions using the trained model
predictions = model.predict(testing_x)
predictions = scaler.inverse_transform(predictions)
# Evaluate the accuracy of the model
testing_y = scaler.inverse_transform(testing_y.reshape(-1, 1))
mae = np.mean(np.abs(predictions - testing_y))
mse = np.mean((predictions - testing_y) ** 2)
rmse = np.sqrt(mse)
print("Mean Absolute Error (MAE): ", mse)
print("Mean Squared Error (MSE): ", mse)
print("Root Mean Squared Error (RMSE): ", rmse)
# Plot the actual and predicted values
plt.figure(figsize=(12, 5))
plt.plot(testing_y, label='Actual Values')
plt.plot(predictions, label='Predicted Values')
plt.xlabel('Time')
plt.ylabel('Stock Closing Values')
plt.title('Adobe Systems Incorporated (ADBE) Stock Prediction')
plt.legend()
plt.show()
Der Compiler gibt einige Fehler aus. Kann sich jemand diesen Code ansehen und ihn ändern, sodass er funktioniert, oder Informationen geben, wie man den Code verbessern kann?
Ich danke euch im Voraus.